2010-03-18 33 views

Antwort

8

SwingUtilities.invokeLater wird verwendet, wenn Sie etwas haben, das in der EDT laufen müssen.

Wenn Sie eine lang andauernde Aufgabe haben, müssen Sie stattdessen eine SwingWorker verwenden, da sie nicht auf dem EDT ausgeführt wird und daher die GUI während der Ausführung nicht einfriert.

+0

danke. Das ist im Allgemeinen, was ich dachte, aber ich brauchte eine Bestätigung –

7

Es sieht aus wie Sie wollen würde: SwingWorker

  • Gebrauch, wenn Sie den Status eines langlaufende Hintergrundprozess

  • Verwendung SwingUtilities.invokeLater überwachen müssen, wenn Sie nur eine kurze Aufgabe wollen laufen, brauchen aber keine Rückmeldung. So ähnlich wie ein Feuer-und-vergessen. Denken Sie daran, dass es im AWT-Ereignis-Dispatching-Thread ausgeführt wird, damit Ihre Anwendung während der Ausführung der Task keine Ereignisse behandelt.