Извикайте t.start()
за да стартирате нова Thread
, извиквайки Thread#run
не прави нищо повече, след което извиква run
метод на Thread
в рамките на същия контекст на нишката...
Като каза това, Swing не е безопасен за нишки, Swing изисква всички актуализации на потребителския интерфейс да се правят от контекста на нишката за изпращане на събития. Вместо да използвате Thread
, трябва да помислите за използването на SwingWorker
, което ви позволява да изпълнявате продължителни задачи във фонова нишка, но осигурява лесен за използване publish
/process
методи и извиквания done
когато завърши, които се изпълняват в контекста на EDT за вас.
Вижте Worker Threads и SwingWorker за повече подробности