Gestionarea evenimentelor în Java: ce este și cum funcționează?

Publicat: 2020-03-21

Orice program care are o interfață grafică cu utilizatorul sau bazat pe GUI, inclusiv aplicația Java pentru Windows, este condus de evenimente. Pentru ca un program precum o aplicație Java să fie utilă, este necesar să ofere un răspuns la comenzile sau intrările de la utilizator. Aplicațiile Java au evenimente pentru a capta acțiunile utilizatorului. Înainte de a discuta despre gestionarea evenimentelor în Java, să începem prin a discuta despre evenimente.

Cuprins

Ce este un eveniment?

Evenimentele au aceeași semnificație și importanță în fiecare limbaj de programare. Sunt efecte externe care sunt controlate de utilizator și care fac aplicația dumneavoastră să se comporte în conformitate cu condiția predefinită pusă în aplicare pentru a înregistra răspunsul său la diferite acțiuni ale utilizatorului. Un eveniment ar putea fi chiar numit ca un obiect care prinde viață atunci când are loc o schimbare în GUI.

Exemplele de evenimente în Java includ tastarea de caractere sau text, clic pe o casetă combinată, clic pe un buton sau orice altă acțiune din partea utilizatorului. Orice astfel de acțiune declanșează un eveniment, care apoi are ca rezultat crearea obiectului eveniment care este relevant pentru acel eveniment.

De exemplu, dacă un utilizator introduce anumite date (acțiunea utilizatorului care declanșează un eveniment), aplicația produce o ieșire prin afișarea unei casete de dialog sau afișând informații (obiect eveniment). Aceste comportamente legate de evenimente fac parte din Mecanismul de gestionare a evenimentelor din Java și sunt prezente în biblioteca Swing GUI. Este important să rețineți că sursa fiecărui eveniment și ascultătorul evenimentului trebuie să fie conectate. Dacă nu este cazul, declanșarea unui eveniment nu va produce nicio acțiune.

De ce un program sau o aplicație trebuie să fie determinată de evenimente?

Înainte ca gestionarea evenimentelor să intre în imagine, un program trebuia să colecteze toate informațiile despre utilizator pentru a ști ce face la un moment dat. Aceasta înseamnă că, după ce a fost rulat sau inițializat, un program a fost întotdeauna într-o buclă mare de repetare care aștepta ca utilizatorul să facă ceva.

Deci, programul căuta orice acțiune – de la apăsarea unui buton până la mișcarea glisorului. După ce a aflat că ceva s-a întâmplat din partea utilizatorului, s-a pregătit să ofere răspunsul corespunzător. Acest lucru se numește sondaj. Deși sondajele duc la îndeplinire treaba, de cele mai multe ori, se pare că este o sarcină prea greu de gestionat și consumatoare de timp.

Citiți: Întrebări și răspunsuri la interviu pentru dezvoltatori Java

Dacă ne gândim să-l folosim pentru aplicațiile moderne, nu se potrivește cu adevărat cerințelor. Două motive principale fac sondarea nepotrivită pentru aplicațiile moderne - Sondajul pune tot codul legat de evenimente în bucla mare de repetare, iar interacțiunile care au loc în această locație sunt prea complexe. De asemenea, sondarea face ca un program să intre într-o buclă fără sfârșit, ceea ce are ca rezultat epuizarea ciclurilor CPU fără nicio garanție de acțiune din partea utilizatorului.

Setul de instrumente Abstract Window sau AWT a mers înainte și s-a asociat cu un model de lucru diferit pentru rezolvarea problemei discutate mai sus. Acest nou model este programarea bazată pe evenimente. Cu AWT, nu este nevoie ca programul să caute evenimentele generate de utilizator. Timpul de rulare Java este cel care face această sarcină. Intimează programul de îndată ce are loc un eveniment. Salvează o resursă valoroasă de la epuizare și gestionează mai bine interacțiunea utilizatorului.

Ce sunt gestionatorii de evenimente în Java și cum funcționează?

Să discutăm acum subiectul principal pe care ne-am propus să-l tratăm. Cum funcționează gestionarea evenimentelor în Java?

După cum am menționat mai devreme, evenimentele sunt acțiuni ale utilizatorului sau efecte externe care fac ca o aplicație să se comporte într-un anumit mod. În Java, componentele AWT, inclusiv textbox, buton și altele, sunt responsabile pentru generarea evenimentelor. De îndată ce un eveniment este generat, ascultătorul îl gestionează și efectuează acțiunea corespunzătoare.

Gestionarea evenimentelor în Java cuprinde patru elemente. Aceștia ar putea fi denumiți chiar și ca handleri de evenimente.

1. Sursă de eveniment : o sursă de eveniment care generează un eveniment este în mare parte o componentă AWT. Puteți rula comanda java.awt.component pentru a afla despre componentele care pot avea sau nu vreun rol în generarea de evenimente. Componentele sunt subclasa din clasa sursă originală. Sursele evenimentelor pot fi orice, de la casete text și casete combinate la butoane și multe altele.

Citiți: Arhitectura MVC în Java

2. Clase de evenimente : În Java, acestea sunt clase care reprezintă aproape fiecare componentă care are vreo legătură cu generarea de evenimente. Acestea sunt numite și tipuri de evenimente. Iată câteva dintre cele mai comune clase de evenimente:

  • ActionEvent : Această clasă de eveniment sau tip de eveniment reprezintă un eveniment care implică clic pe un element grafic, cum ar fi un buton sau un element din listă. Ascultătorul aferent acestei clase este ActionListener.
  • KeyEvent : Această clasă de eveniment reprezintă un eveniment care implică apăsarea și eliberarea unei taste. Ascultătorul asociat acestei clase este KeyListener.
  • ContainerEvent : Acest tip de eveniment reprezintă un eveniment care are loc cu containerul GUI. Această clasă este asociată cu orice eveniment în care acțiunea utilizatorului implică adăugarea sau eliminarea obiectelor din GUI. Ascultătorul înrudit pentru această clasă este ContainerListener.
  • MouseEvent : Această clasă reprezintă toate acele evenimente care implică clicul sau apăsarea mouse-ului. Ascultătorul pentru această clasă este MouseListener.
  • WindowEvent : Această clasă sau tip de eveniment reprezintă evenimente care implică orice acțiune legată de o fereastră. Închiderea, activarea sau dezactivarea unei ferestre intră în această clasă. Ascultătorul asociat pentru această clasă este WindowListener.

3. Ascultători de evenimente: Acestea sunt interfețe Java care oferă diverse metode care pot fi utilizate în diferite clase implementate. Sarcina ascultătorilor de evenimente presupune să asculte evenimentele și apoi să le proceseze în mod corespunzător atunci când au loc. Aproape fiecare componentă din Java are un ascultător dedicat care se ocupă de orice eveniment pe care îl generează acea componentă. ActionListener gestionează evenimente care implică liste, butoane, câmpuri de text și meniuri.

4. Adaptoare de evenimente : Dacă un program prezintă prea multe metode abstracte pentru ca ascultătorul să le înlocuiască, poate deveni dificil să-l compilați. De exemplu, dacă vrem să închidem un cadru, există șapte metode abstracte WindowListener pe care trebuie să le înlocuim. Pentru a reduce complexitatea și codificarea grea, Java are adaptoare de evenimente. Adaptoarele de evenimente sunt deja metode abstracte suprascrise.

Concluzie

Este important să rețineți că mai multe surse de evenimente și ascultătorii pot interacționa între ei. Deci, mai multe evenimente aparținând aceleiași clase pot fi gestionate de un singur ascultător. Aceasta înseamnă că un ascultător poate gestiona toate acele evenimente care implică aceleași componente care efectuează acțiuni similare. Pe linii similare, un singur eveniment ar putea fi gestionat de mai mult de un ascultător, numai dacă designul programului permite acest lucru.

Are sens?

Da?

Nu?

Luați legătura cu noi pentru a afla despre o sesiune extinsă despre gestionarea evenimentelor în Java. Nu ai regreta!

Dacă sunteți interesat să aflați mai multe despre Java pentru dezvoltarea web, consultați diploma PG în dezvoltare software full-stack de la upGrad și IIIT-B, care este concepută pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și sarcini, Statut de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Aterizează la locul de muncă visat

UPGRAD SI DIPLOMA PG IN DEZVOLTARE DE SOFTWARE LUI IIIT-BANGALORE
Aflați mai multe