¿Debo usar SwingUtilities.invokeLater () dentro de SwingWorker.doInBackground ()?
La forma común de interactuar con EDT desde swing worker es usar el método get (). Pero tengo una tarea larga y un código como este:
public Void doInBackground() {
for(Object o : objects) {
doSomething();
MyGlobalGUIConsole.addMessage("Done for " + o);
}
}
En la mayoría de los tutotials se recomienda usar valores de retorno para recuperar algo de SwingWorker a EDT, pero puedo:
public Void doInBackground() {
for(Object o : objects) {
doSomething();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyGlobalGUIConsole.addMessage("Done for " + o);
}
});
}
}