Originariamente inviato da andbin
Quando un metodo di un listener viene invocato, si è nel contesto del EDT (event dispatch thread), che non deve mai essere bloccato per troppo tempo, pena un "congelamento" dell'intera interfaccia utente.

Quindi fare lì in quel contesto operazioni lunghe, cicli infiniti o cose del genere è sbagliato e crea solo problemi.

Dipende da cosa devi fare di preciso ... cioè da cosa è quel "fai qualcosa" che hai indicato. Se devi fare una sequenza di operazioni lunghe o comunque varie allora sarebbe opportuno creare ed avviare un nuovo thread in cui eseguire queste operazioni. E il fatto di poter terminare queste operazioni implica che la gestione di queste operazioni deve essere scritta appositamente in modo da "cooperare" per quanto riguarda la terminazione.
il "fai qualcosa" in pratica preleva dati da una database per aggiornare una jtextarea.

cmq ora mi documento sui thread e vedo se riesco a risolvere il problema !