Un evento in Java è un oggetto che viene creato quando qualcosa cambia in un'interfaccia utente grafica. Se un utente fa clic su un pulsante, fa clic su una casella combinata o digita caratteri in un campo di testo, ecc., Si innesca un evento, creando l'oggetto evento rilevante. Questo comportamento fa parte del meccanismo di gestione degli eventi di Java ed è incluso nella libreria della GUI di Swing.
Ad esempio, supponiamo di avere un JButton. Se un utente fa clic su JButton, viene attivato un evento clic pulsante, l'evento verrà creato e verrà inviato al listener di eventi pertinente (in questo caso, il ActionListener). Il listener pertinente avrà implementato il codice che determina l'azione da intraprendere quando si verifica l'evento.
Si noti che una fonte di eventi dovere essere associato a un listener di eventi, altrimenti il suo innesco non comporterà alcuna azione.
La gestione degli eventi in Java comprende due elementi chiave:
Esistono diversi tipi di eventi e listener in Java: ogni tipo di evento è legato a un ascoltatore corrispondente. Per questa discussione, consideriamo un tipo comune di evento, un evento d'azione rappresentato dalla classe Java ActionEvent, che viene attivato quando un utente fa clic su un pulsante o sull'elemento di un elenco.
All'azione dell'utente, un ActionEvent viene creato l'oggetto corrispondente all'azione pertinente. Questo oggetto contiene sia le informazioni sulla fonte dell'evento sia l'azione specifica intrapresa dall'utente. Questo oggetto evento viene quindi passato al corrispondente ActionListener metodo dell'oggetto:
void actionPerformed (ActionEvent e)
Questo metodo viene eseguito e restituisce la risposta della GUI appropriata, che potrebbe essere quella di aprire o chiudere una finestra di dialogo, scaricare un file, fornire una firma digitale o qualsiasi altra miriade di azioni disponibili per gli utenti in un'interfaccia.
Ecco alcuni dei più comuni tipi di eventi in Java:
Nota che più ascoltatori e fonti di eventi possono interagire tra loro. Ad esempio, più eventi possono essere registrati da un singolo listener, se sono dello stesso tipo. Ciò significa che, per un insieme simile di componenti che eseguono lo stesso tipo di azione, un listener di eventi può gestire tutti gli eventi. Allo stesso modo, un singolo evento può essere associato a più ascoltatori, se questo si adatta alla progettazione del programma (sebbene sia meno comune).