Sehen Sie sich SwingWorker an und Verwendung eines Swing-Worker-Threads.
Informieren Sie sich auch über Parallelität in Swing für weitere Informationen darüber, warum die GUI einfriert, und für ein funktionierendes Beispiel für die Verwendung eines Swing-Workers. (über @camickr)