Ich benutze SwingWorker, um einige Schwerlastaufgaben für eine Anwendung auszuführen, die ich mache. Obwohl ich heute über die Executor-Klasse und dieses Beispiel stolperte:
%Vor%Kann jemand die Gründe erklären, warum man SwingWorker anstelle des obigen Beispiels verwenden würde? So verwende ich SwingWorker derzeit:
%Vor% 1) SwingWorker
wird als Brücke zwischen Java Essentials Classes
und Swing von implements Future
erstellt und garantiert, dass outload aus den Methoden process
, publish
und done
auf EventDispatchThread
2) Sie können SwingWorker
von Executor
aufrufen, dies ist die sicherste Methode, um multithreading in Swing durch implementiert SwingWorker
3) beachten Sie sorgfältig die Nummer oder den Thread, weil Executor
sich irgendwie nicht um SwingWorkers
life_cycle
4) ein weiterer wichtiger Hinweis und < a href="https://stackoverflow.com/a/7679104/714968"> hier
5) für hörende Zustände von SwingWorker
müssen Sie PropertyChangeListener
Die SwingWorker
verfügt über zusätzliche Methoden process()
und done()
, die automatisch im Ereignisversand-Thread ausgeführt werden . Dies ist praktisch, wenn Sie Ihren Fortschritt oder die endgültigen Ergebnisse in einer Benutzerschnittstelle anzeigen möchten.
Tags und Links java multithreading swing