salve a tutti.. avrei un dubbio.. perchè quando spingo un bottone di tipo JButton a cui è associata un actionperformed() dove si invia tramite socket dei dati, se non chiudo l'outputstream il bottone non viene rilasciato?
salve a tutti.. avrei un dubbio.. perchè quando spingo un bottone di tipo JButton a cui è associata un actionperformed() dove si invia tramite socket dei dati, se non chiudo l'outputstream il bottone non viene rilasciato?
Non è questa la questione .... il fatto che il pulsante viene "rilasciato" non è perché hai "chiuso l'outputstream"!!Originariamente inviato da kingincrimson
salve a tutti.. avrei un dubbio.. perchè quando spingo un bottone di tipo JButton a cui è associata un actionperformed() dove si invia tramite socket dei dati, se non chiudo l'outputstream il bottone non viene rilasciato?
La questione è più in generale: stai tenendo tu "impegnato" il EDT, Event Dispatch Thread, il thread (unico) che si occupa di disegnare la interfaccia utente e di dispacciare gli eventi.
E se lo tieni impegnato il controllo non può ritornare subito al framework che quindi non può aggiornare nulla a video = la tua interfaccia è congelata.
Vuoi risolverlo? Dovresti avere più chiara la questione del EDT, conoscere come usare i thread e gestire l'I/O su socket in un thread separato, con tutto quello che comporta.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet