I just converted a bunch of legacy code that made use of the add-on SwingWorker version from the Java 5 days to use SE 6′s SwingWorker. Definitely an improvement however I wasn’t getting the updates I expected using the publish() process() mechanism as all data published during the background task was being processed in one go only after the actual background task had finished.
The cause? Starting the SwingWorker operation with run() instead of (the correct) execute().
Tags: java swingworker swing