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);
            }                                              
        });                                                
    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage