I am using SwingWorker to execute some heavy load tasks on an application I am making . Although today I got across the Executor class and this example :
The SwingWorker has additional methods process() and done() which are automatically executed in the event dispatch thread. This comes in handy if you plan to display your progress or final results in a user interface.