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 face parte din mecanismul 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 către relevanță ascultător de evenimente (î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.
Cum funcționează evenimentele
Tratarea evenimentelor în Java este alcătuită din două elemente cheie:
- Sursa evenimentului, care este un obiect care este creat atunci când are loc un eveniment. Java oferă mai multe tipuri de surse de evenimente, discutate în secțiune Tipuri de evenimente de mai jos.
- Ascultătorul evenimentului, obiectul care „ascultă” evenimentele și le procesează atunci când apar.
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ărcați un fișier, furnizați o semnătură digitală sau orice alte acțiuni disponibile pentru utilizatorii din an interfață.
Tipuri de evenimente
Iată câteva dintre cele mai comune tipuri de evenimente în Java:
- ActionEvent: Reprezintă un element grafic pe care se face clic, cum ar fi un buton sau un element dintr-o listă. Ascultător înrudit: ActionListener.
- ContainerEvent: Reprezintă un eveniment care apare la containerul GUI în sine, de exemplu, dacă un utilizator adaugă sau elimină un obiect din interfață. Ascultător înrudit: ContainerListener.
- KeyEvent: Reprezintă un eveniment în care utilizatorul apasă, tastează sau eliberează o cheie. Ascultător înrudit: KeyListener.
- WindowEvent: Reprezintă un eveniment referitor la o fereastră, de exemplu, atunci când o fereastră este închisă, activată sau dezactivată. Ascultător înrudit: WindowListener.
- MouseEvent: Reprezintă orice eveniment legat de un mouse, cum ar fi atunci când faceți clic sau apăsați un mouse. Ascultător înrudit: MouseListener.
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 proiectării programului (deși acest lucru este mai puțin obișnuit).