Czy powinienem używać SwingUtilities.invokeLater () wewnątrz SwingWorker.doInBackground ()?
Najczęstszym sposobem interakcji z EDT od pracownika swingującego jest użycie metody get (). Ale mam długie zadanie i kod podobny do tego:
public Void doInBackground() {
for(Object o : objects) {
doSomething();
MyGlobalGUIConsole.addMessage("Done for " + o);
}
}
W większości przypadków zaleca się używanie wartości zwracanych, aby coś odzyskać od SwingWorker do EDT, ale czy mogę po prostu:
public Void doInBackground() {
for(Object o : objects) {
doSomething();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyGlobalGUIConsole.addMessage("Done for " + o);
}
});
}
}