Evenimente și cursanți în java

Procesarea oricărui eveniment (apăsarea unui buton, apăsarea unui mouse etc.) constă în legarea unui eveniment la metoda care o procesează. Principiul procesării evenimentelor, pornind de la Java 2, se bazează pe modelul de delegare a evenimentelor. În acest model, există un ascultător de evenimente (EventListener), care așteaptă un eveniment de un anumit tip de la sursă, apoi îl procesează și readuce controlul. O sursă este un obiect care generează un eveniment dacă se modifică starea sa internă, de exemplu, modificările de dimensiune, modificările valorii câmpului, mouse-ul este apăsat pe formular sau este selectată o valoare din listă. După generare, obiectul eveniment este trimis pentru procesare către unitatea de ascultare înregistrată în sursă ca parametru al metodelor sale - procesatori de evenimente.

Listener Listener este un obiect de clasă care implementează interfețe de ascultare pentru evenimentele definite în pachetul java.awt.event. Metodele corespunzătoare declarate în interfețele utilizate trebuie să fie implementate explicit atunci când creați propriile clase de ascultare. Aceste metode sunt manipulatoare de evenimente. Obiectul sursă transmis către ascultător este un argument de manipulare a evenimentului. Obiectul clasei - blocul de ascultare al evenimentului trebuie înregistrat în metoda sursă

source.add EventListener (object_interviewer);

După aceasta, obiectul ascultătorului va răspunde la acest eveniment și va apela metoda "handler de evenimente". Această logică a procesării evenimentului facilitează separarea părții de interfață a aplicației de cea funcțională, considerată necesară pentru proiectarea aplicațiilor moderne. Puteți elimina ascultătorul unui anumit eveniment utilizând metoda theremoveListener ().

Sursele de eveniment pot fi butoanele de comandă (JButton, JCheckbox, JRadioButton), listele, butoanele de meniu. Evenimentele pot fi generate de cadre și applet-uri, cum ar fi mouse-ul și evenimentele-cheie. Evenimentele sunt generate de ferestre când sunt extinse, minimizate sau ieșite. Fiecare clasă sursă definește una sau mai multe metode. AddListener () sau moștenește aceste metode

Când apare evenimentul, toți ascultătorii înregistrați sunt notificați și primesc o copie a obiectului evenimentului. Astfel, sursa numește metoda handlerului evenimentului definită în clasa care este unitatea de ascultare și transmite obiectul evenimentului ca parametru metodei. În practică, clasele interne sunt folosite ca blocuri de ascultare. În acest caz, metoda care înregistrează unitatea de ascultare ca parametru folosește obiectul acestei clase interioare.

Fiecare interfață inclusă în unitatea de ascultare este moștenită de la interfața EventListener și este concepută pentru a gestiona un anumit tip de eveniment. Procedând astfel, acesta conține una sau mai multe metode care acceptă întotdeauna un obiect de eveniment ca un singur parametru și sunt numite în anumite situații. Tabelul prezintă câteva interfețe și metodele care trebuie implementate într-o clasă de ascultare a evenimentelor care implementează interfața corespunzătoare:

Un eveniment generat în cazul unei situații specifice și apoi transmis unității de ascultare înregistrate pentru procesare este obiectul clasei de eveniment. La rădăcina ierarhiei de clasă a evenimentului este superclassEventObject din pachetul java.util. Această clasă conține două metode: getSource (). care returnează sursa evenimentului și toString (). care returnează echivalentul șir al evenimentului. Clasa abstractă AWTEvent din pachetul java.awt este superclama tuturor evenimentelor AWT asociate componentelor. Metoda getID () determină tipul de eveniment care apare ca urmare a acțiunilor utilizatorului în aplicația vizuală. Mai jos sunt câteva clase de evenimente derivate din AWTEvent. și situat în pachetul java.awt.event:

ActionEvent - generat: când apăsați butonul; faceți dublu clic pe elementele listei; atunci când selectați un element de meniu;

AdjustmentEvent - generată când bara de derulare este schimbată;

ComponentEvent - generat dacă componenta este ascunsă, mutată, redimensionată sau devine vizibilă;

FocusEvent - generat dacă componenta primește sau pierde focalizarea de intrare;

TextEvent - generat când se schimbă câmpul de text;

ItemEvent - generat când un element este selectat din listă.

Clasa InputEvent este o clasă abstractă a evenimentelor de intrare (pentru tastatură sau mouse). Intrările de la tastatură intră în clasa KeyEvent. evenimente mouse - MouseEvent.

Pentru a implementa metode de gestionare a evenimentelor asociate tastaturii, trebuie să definiți cele trei metode declarate în interfața KeyListener. Apăsând tasta se generează un eveniment cu valoarea KEY_PRESSED. Aceasta duce la solicitarea pentru tasta Handler de evenimente (). Când se eliberează cheia, se generează un eveniment cu valoarea KEY_RELEASED și se execută handlerul keyReleased (). Dacă un simbol este generat prin apăsarea unei chei, este trimisă o notificare a evenimentului cu o valoare de KEY_TYPED și se va apela manipulatorul keyTyped ().

Articole similare