Sollte ich SwingUtilities.invokeLater () innerhalb von SwingWorker.doInBackground () verwenden?
Die gebräuchliche Methode zur Interaktion mit EDT von Swing Worker ist die Verwendung der get () -Methode. Aber ich habe eine lange Aufgabe und Code wie folgt:
public Void doInBackground() {
for(Object o : objects) {
doSomething();
MyGlobalGUIConsole.addMessage("Done for " + o);
}
}
In den meisten Tutorials wird empfohlen, Rückgabewerte zu verwenden, um etwas von SwingWorker an EDT zurückzugeben, aber kann ich nur:
public Void doInBackground() {
for(Object o : objects) {
doSomething();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyGlobalGUIConsole.addMessage("Done for " + o);
}
});
}
}