Un eveniment în Java este un obiect care este creat atunci când ceva se schimbă în interiorul unei interfețe grafice de utilizator. Dacă un utilizator face clic pe un buton, face clic pe o casetă combo sau introduce tipuri de caractere într-un câmp text etc., atunci un eveniment se declanșează, creând obiectul de eveniment relevant. Acest comportament este parte a mecanismului Java de gestionare a evenimentelor și este inclus în biblioteca GUI Swing.
De exemplu, să zicem că avem o JButton. Dacă un utilizator face clic pe butonul JButton, se declanșează un eveniment de clic pe buton, evenimentul va fi creat și va fi trimis ascultătorului de eveniment relevant (în acest caz, ActionListener). Ascultătorul relevant va avea implementat un cod care determină acțiunile care trebuie luate atunci când are loc evenimentul.
Rețineți că o sursă de eveniment trebuie sa fii asociat cu un ascultător de evenimente sau declanșarea acestuia nu va duce la nicio acțiune.
Tratarea evenimentelor în Java este alcătuită din două elemente cheie:
Există mai multe tipuri de evenimente și ascultători în Java: fiecare tip de eveniment este legat de un ascultător corespunzător. Pentru această discuție, să luăm în considerare un tip comun de eveniment, an eveniment de acțiune reprezentat de clasa Java ActionEvent, care este declanșat atunci când un utilizator face clic pe un buton sau pe elementul unei liste.
La acțiunea utilizatorului, an ActionEvent obiectul corespunzător acțiunii relevante este creat. Acest obiect conține atât informațiile despre sursa evenimentului, cât și acțiunile specifice întreprinse de utilizator. Acest obiect de eveniment este apoi trecut la corespondent ActionListener metoda obiectului:
void actionPerformed (ActionEvent e)
Această metodă este executată și returnează răspunsul GUI corespunzător, care ar putea fi deschiderea sau închiderea unui dialog, descărcarea unui fișier, furnizarea unei semnături digitale sau a oricărei alte acțiuni disponibile pentru utilizatori într-o interfață.
Iată câteva dintre cele mai comune tipuri de evenimente în Java:
Rețineți că mai mulți ascultători și surse de evenimente pot interacționa unul cu altul. De exemplu, mai multe evenimente pot fi înregistrate de un singur ascultător, dacă sunt de același tip. Aceasta înseamnă că, pentru un set similar de componente care efectuează același tip de acțiune, un ascultător de evenimente poate gestiona toate evenimentele. În mod similar, un singur eveniment poate fi legat de mai mulți ascultători, dacă acest lucru se potrivește cu designul programului (deși acest lucru este mai puțin obișnuit).