Esiste un modo per gestire gli eventi dei vari oggetti(bottoni, text) che sia poco invasivo....diciamo meno di quello di creare una classe per ogni evento gestendo l'action listener?
Esiste un modo per gestire gli eventi dei vari oggetti(bottoni, text) che sia poco invasivo....diciamo meno di quello di creare una classe per ogni evento gestendo l'action listener?
"Everybody defamates from miles away
But face to face, they haven't got a thing to say"
Una singola classe che implementa ActionListener, al cui interno verifichi tu quale "sorgente" ha originato l'evento.Originariamente inviato da spizzico
diciamo meno di quello di creare una classe per ogni evento gestendo l'action listener?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Infatti c'avevo pensato....in questo caso l'action listener si comporterebbe diversamente a secondo di chi l'ha chiamata(bottone 1, bottone 2, text 1....)...giusto?.....Originariamente inviato da andbin
Una singola classe che implementa ActionListener, al cui interno verifichi tu quale "sorgente" ha originato l'evento.
l'unico dubbio era appunto nel fatto che così per gestire gli eventi dovrei riempire ogni classe(quella del click, quella del focus....) con una sorta di case list a seconda di chi la chiama....non conoscendo bene java pensavo ci potesse essere qualcosa di diverso...
"Everybody defamates from miles away
But face to face, they haven't got a thing to say"
Detto in generale, ad AWT/Swing non interessa quante classi che implementano un XXXListener hai e quante istanze di queste classi hai .... ad un componente interessa solo che tu registri un oggetto che implementa quel XXXListener, su cui invocherà i metodi per le notifiche.Originariamente inviato da spizzico
non conoscendo bene java pensavo ci potesse essere qualcosa di diverso...
Se hai 2 pulsanti e vuoi gestire un ActionListener per entrambi potresti fare:
a) 2 classi diverse che implementano ActionListener (ovviamente avrai 2 oggetti diversi).
b) 1 classe che implementa ActionListener ma 2 istanze differenti (perché magari devi tenere uno "stato" differente in variabili di istanza).
c) 1 classe che implementa ActionListener e 1 istanza per entrambi i pulsanti.
Nei casi b e c devi distinguere tu la sorgente dell'evento.
Nessuna è migliore dell'altra ... dipende da cosa devi fare. L'unica cosa è che il tuo obiettivo non deve essere solo quello di "risparmiare" sul numero di classi ...
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet