Pues precisamente eso, necesitas hilos. Mientras se esté ejecutando el actionPerformed() del botón NO se refresca nada de las ventanas, por ello da igual que actualices o no el JProgressBar, porque no lo verás hasta que termine el método actionPerformed().
El actionPerformed() necesita lanzar un hilo para hacer todo eso y terminar él mismo lo antes posible, permitiendo que se refresquen las ventanas.
Más detalles en
http://chuwiki.chuidiang.org/index.p...El_hilo_de_awt
Se bueno.