Gast
2007-07-23, 22:42:43
Hi Leute,
ich möchte gerne in einem Swing-Programm eine idle-Methode realisieren, d.h. eine Methode die immer wieder ausgeführt wird, wobei zwischen jeder Ausführung der Event Loop durchlaufen wird. In Delphi und .NET gibt es dafür z.B. die Methoden TApplication.OnIdle bzw Application.Idle, oder man programmiert eine Schleife in der TApplication.ProcessMessages/Application.DoEvents() aufgerufen wird. In SWT würde das vermutlich über eine Methode der Klasse Display gehen. Aber wie macht man das unter Swing?
Bisher habe ich mir dadurch beholfen, daß ich einen Nebenthread aufmache und die Methode dort in einer Schleife fortwährend aufrufe, und nach jedem Durchlauf mittels SwingUtilities.invokeAndWait() die Anzeige des Ergebnisses inm Hauptthread angestoßen wird.
Ist das unter Swing womöglich die einzige Lösung?
ich möchte gerne in einem Swing-Programm eine idle-Methode realisieren, d.h. eine Methode die immer wieder ausgeführt wird, wobei zwischen jeder Ausführung der Event Loop durchlaufen wird. In Delphi und .NET gibt es dafür z.B. die Methoden TApplication.OnIdle bzw Application.Idle, oder man programmiert eine Schleife in der TApplication.ProcessMessages/Application.DoEvents() aufgerufen wird. In SWT würde das vermutlich über eine Methode der Klasse Display gehen. Aber wie macht man das unter Swing?
Bisher habe ich mir dadurch beholfen, daß ich einen Nebenthread aufmache und die Methode dort in einer Schleife fortwährend aufrufe, und nach jedem Durchlauf mittels SwingUtilities.invokeAndWait() die Anzeige des Ergebnisses inm Hauptthread angestoßen wird.
Ist das unter Swing womöglich die einzige Lösung?