doInBackground è già in un thread a parte .... è questo il senso di SwingWorker! SwingWorker usa sotto-sotto un thread e in più offre una API che permette di aggiornare più comodamente la interfaccia utente (invece che usare il solito invokeLater) usando passaggi "nascosti" tra il thread in background e il EDT tramite publish/process e altro documentato in SwingWorker.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet