スイングワーカーからEDTを操作する一般的な方法は、get()メソッドを使用することです。しかし、私には次のような長いタスクとコードがあります。
public Void doInBackground() {
for(Object o : objects) {
doSomething();
MyGlobalGUIConsole.addMessage("Done for " + o);
}
}
ほとんどのtutotialsでは、戻り値を使用してSwingWorkerからEDTに何かを戻すことをお勧めしますが、次のことを行うことができます。
public Void doInBackground() {
for(Object o : objects) {
doSomething();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyGlobalGUIConsole.addMessage("Done for " + o);
}
});
}
}