Java domanda action listener
-
28-09-2019 - |
Domanda
Sto creando un elemento di JPanel personalizzato (un modulo di login).
Voglio permettere alle persone che usano il mio pannello di sottoscrivere / ascoltare un evento chiamato "loginSuccessful".
Qual è il modo migliore per attuare questo nel mio oggetto JPanel?
UPDATE: oh, e voglio anche aggiungere che, quando viene attivata l'azione, voglio anche per restituire un oggetto "Utente" contenente la persona che era appena effettuato il login
Soluzione
Di solito preferisco EventBus per questo tipo di eventi.
Biblioteca e gli esempi possono essere trovati qui
Inoltre si dovrebbe considerare di tenere fuori BusinessLogic del vostro viewclass (pannello) e creare una sorta di LoginController per il vostro loginbusinesslogic. Ci sono un sacco di esempi buoni là fuori.
EDIT: È possibile inviare un UserObject all'interno di un EventBusEvent pure.
Altri suggerimenti
Vorrei iniziare separando il tuo codice widget del form. Non estendere dove non è necessario. Dove le classi sono focalizzate su un particolare lavoro, tutto diventa molto più facile.