Originariamente inviato da Cool81
Le mie orecchie sono aperte ai vostri consigli!
Ok, allora ti dico subito che non va affatto bene! Ci sono diverse cose sbagliate.

Innanzitutto MyThread è sbagliato. il run() non deve avere argomenti!! Facendo così hai fatto un overload ... non un override (e rimane il run() di Thread che in questo caso non fa nulla).

Ammettiamo anche di sistemare la cosa. In quel run() sei nel contesto di un thread a parte ... non del EDT. E quale è la regola principale sul threading in Swing? Salvo pochi casi particolari ben documentati, l'accesso alla interfaccia utente va fatto solo nel contesto del EDT. Quindi quel dialog.dispose() non va bene in quel contesto.

Ma non è tutto qui. Hai scritto:
codice:
            MyThread t = new MyThread(this);
            t.run(userProfile, usr, psw_f);
            t.start();
Il run() non lo devi mai invocare tu!! Se lo invochi tu ... non diventa un "thread" di esecuzione a sé stante!!