Realiza una tarea en background que tarda un tiempo (la del método doInBackground) y pone una barra de progreso que se va actualizando mientras la tarea progresa.
Tienes un ejemplo explicado aquí
http://chuwiki.chuidiang.org/index.p...on_SwingWorker
Se bueno.