Che purtroppo è tutto sbagliato. Perché il "lavoro" lo fai eseguire comunque nel EDT!!! E quindi il blocco c'è lo stesso.Originariamente inviato da Macgiglio
ho scritto qualcosa del genere
anche se il tutto funziona ho il solito blocco
E oltretutto il run() di quel Runnable viene eseguito dopo che actionPerformed() è terminato, quindi quando lanci p2 non puoi di certo avere qualcosa di utile nella label.
Il tuo lavoro non devi farlo eseguire nel EDT. Devi farlo eseguire nel contesto di un altro thread (estendi Thread o implementa Runnable e istanzia un Thread con il Runnable) e poi solo quando devi accedere ai componenti della interfaccia allora usi invokeLater() per accedere al/ai componente/i.

Rispondi quotando