Quote:
Originariamente inviato da MEMon
Comer faccio a fare in modo che sia un determinato thread a "sentire" gli eventi?
Ad esempio se alla pressione di un jbutton devo fare operazioni che potrebbero bloccare per alcuni istanti l'applicazione, come faccio a far fare queste operazione ad un thread separato?
Ovviamente senza creare il thread sul momento...
|
Se usi Swing, devi stare attento. Swing usa 1 singolo thread per tutta la gestione dell'interfaccia utente, disegno dei componenti e gestione degli eventi. Questo vuol dire che quando ti arriva un evento da un componente Swing, in quel momento sei nel thread di Swing, che devi bloccare per il minor tempo possibile.
Non solo, ma se devi interagire con un componente Swing (settare proprietā, aggiungere componenti, ecc...) devi farlo solo dall'interno del thread di Swing.