Llamar a t.start()
para iniciar un nuevo Thread
, llamando a Thread#run
no hace nada más que llamar a run
método del Thread
dentro del mismo contexto de hilo...
Habiendo dicho eso, Swing no es seguro para subprocesos, Swing requiere que todas las actualizaciones de la interfaz de usuario se realicen desde el contexto del subproceso de envío de eventos. En lugar de usar un Thread
, debería considerar usar un SwingWorker
, que le permite ejecutar tareas de ejecución prolongada en un subproceso en segundo plano, pero que proporciona publish
fácil de usar /process
métodos y llamadas done
cuando se completa, que se ejecutan dentro del contexto de la EDT para usted.
Consulte Worker Threads y SwingWorker para más detalles