Appelez t.start()
pour démarrer un nouveau Thread
, en appelant Thread#run
ne fait rien de plus puis appelle le run
méthode du Thread
dans le même contexte de thread...
Cela dit, Swing n'est pas thread-safe, Swing exige que toutes les mises à jour de l'interface utilisateur soient effectuées dans le contexte du thread de distribution d'événements. Au lieu d'utiliser un Thread
, vous devriez envisager d'utiliser un SwingWorker
, qui vous permet d'exécuter des tâches longues dans un thread d'arrière-plan, mais qui fournit une publish
facile à utiliser /process
méthodes et appels done
lorsqu'il se termine, qui sont exécutés dans le contexte de l'EDT pour vous.
Voir Threads de travail et SwingWorker pour plus de détails