Ascultători de evenimente Java și modul în care funcționează

Un ascultător de evenimente în Java este proiectat pentru a procesa un fel de eveniment - acesta „ascultă” un eveniment, cum ar fi un clic al utilizatorului sau o apăsare a tastei, iar apoi răspunde în consecință. Trebuie să fie conectat un ascultător de evenimente la un obiect de eveniment care definește evenimentul.

De exemplu, componente grafice precum a JButton sau JTextField sunt cunoscute ca surse de evenimente. Aceasta înseamnă că pot genera evenimente (numite obiecte de eveniment), Cum ar fi furnizarea unui JButton pentru un utilizator să facă clic sau JTextField în care un utilizator poate introduce text. Treaba ascultătorului de eveniment este să prindă acele evenimente și să facă ceva cu ele.

Cum funcționează ascultătorii de evenimente

Fiecare interfață de ascultător de evenimente include cel puțin o metodă folosită de sursa de eveniment echivalent.

Pentru această discuție, să luăm în considerare un eveniment al mouse-ului, adică oricând un utilizator face clic pe ceva cu un mouse, reprezentat de clasa Java MouseEvent. Pentru a gestiona acest tip de eveniment, mai întâi ați crea un MouseListener clasa care implementează Java MouseListener interfață. Această interfață are cinci metode; implementați-l pe cel care se referă la tipul de acțiune al mouse-ului pe care îl anticipezi să utilizeze utilizatorul. Acestea sunt:

  • void mouseClicked (MouseEvent e)

    Invocat atunci când butonul mouse-ului a fost făcut clic (apăsat și eliberat) pe o componentă.
  • void mouseEntered (MouseEvent e)

    Invocat când mouse-ul intră într-o componentă.
  • void mouseExited (MouseEvent e)

    Invocat când mouse-ul iese dintr-o componentă.
  • void mousePressed (MouseEvent e)

    Invocat atunci când a fost apăsat un buton de mouse pe o componentă.
  • void mouseReleased (MouseEvent e)

    Invocat când a fost lansat un buton de mouse pe o componentă

După cum puteți vedea, fiecare metodă are un singur parametru obiect de eveniment: evenimentul special al mouse-ului pe care este proiectat să îl gestioneze. În dumneavoastră MouseListener clasa, tu Inregistreaza-te să „asculți” oricare dintre aceste evenimente, astfel încât să fii informat când au loc.

Când evenimentul se declanșează (de exemplu, utilizatorul face clic pe mouse, în conformitate cu mouseClicked () metoda de mai sus), o relevantă MouseEvent obiectul care reprezintă acel eveniment este creat și transmis către MouseListener obiect înregistrat pentru a-l primi. 

Tipuri de ascultători de evenimente

Ascultătorii de evenimente sunt reprezentați prin interfețe diferite, fiecare dintre acestea fiind proiectată pentru a procesa un eveniment echivalent.

Rețineți că ascultătorii de evenimente sunt flexibili prin faptul că un singur ascultător poate fi înregistrat pentru a „asculta” mai multe tipuri de evenimente. 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.

Iată câteva dintre cele mai comune tipuri:

  • ActionListener: Ascultă un an ActionEvent, adică atunci când se face clic pe un element grafic, cum ar fi un buton sau un element dintr-o listă.
  • ContainerListener: Ascultă a ContainerEvent, care ar putea apărea dacă utilizatorul adaugă sau elimină un obiect din interfață.
  • KeyListener: Ascultă a KeyEvent în care utilizatorul apasă, tastează sau eliberează o cheie.
  • WindowListener: Ascultă a WindowEvent, de exemplu, atunci când o fereastră este închisă, activată sau dezactivată.
  • MouseListener: Ascultă a  MouseEvent, cum ar fi atunci când se dă clic sau se apasă un mouse.