Kald t.start()
for at starte en ny Thread
, kalder Thread#run
gør ikke mere end kalder run
metoden for Thread
inden for samme trådkontekst...
Når det er sagt, er Swing ikke trådsikker, Swing kræver, at alle opdateringer til brugergrænsefladen er lavet inden for konteksten af Event Dispatching Thread. I stedet for at bruge en Thread
, bør du overveje at bruge en SwingWorker
, som giver dig mulighed for at udføre langvarige opgaver i en baggrundstråd, men som giver nem at bruge publish
/process
metoder og opkald done
når den er fuldført, som udføres inden for rammerne af EDT for dig.
Se Worker Threads and SwingWorker for flere detaljer