Back Up Next

Dogodki in poslušalci


Dogodek v AWT je sprememba v stanju določene komponente ali interakcija s strani uporabnika. Tako lahko med dogodke štejemo klik z miško, pritisk na tipko na tipkovnici, pritisk na gumb uporabniškega vmesnika, vpis v polje za vnos,...
Dogodek se prenese iz izvornega objekta na t.i. poslušalca (Listener). Izvorni objekt je objekt, s katerim je uporabnik interaktiral, poslušalec pa je objekt, ki je registriran, da posluša in prestreže določen tip dogodka.
Poznamo več vrst dogodkov, pomembnejši so:
ActionEvent se zgodi, ko npr. kliknemo na gumb uporabniškega vmesnika, izberemo opcijo v menuju,...
AdjustmentEvent se zgodi, ko premaknemo drsnik (Scrollbar);
FocusEvent se zgodi, ko komponenta dobi ali izgubi vnosni fokus;
KeyEvent se zgodi, ko uporabnik pritisne na tipko;
MouseEvent se zgodi, ko uporabnik pritisne na mišji gumb, ali pa miško premakne;
WindowEvent se zgodi, ko okno odpremo, minimiziramo, zapremo,...
ItemEvent se zgodi, ko npr. izberemo opcijo v seznamu, pritisnemo na gumb tipa CheckBox,...
TextEvent se zgodi, ko v TextArea ali TextField komponentah spremeni tekst
Vsaki komponenti lahko za vsak tip dogodka dodamo poslušalca, ki se bo izvedel ob nastopu dogodka. Poslušalec je razred, ki ga izvedemo iz primernega adapter razreda (Adapter) ali naredimo z implementacijo primernega Listener vmesnika. Tako lahko za poslušanje dogodkom MouseEvent naredimo razred, ki je izpeljan iz razreda MouseAdapter ali razred, ki implementira vmesnik MouseListener. MouseAdapter in MouseListener imata pet funkcij (mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased), ki jih lahko prekrijemo, odvisno od tega, kakšen tip dogodkov želimo spremljati.
Kratek primer poslušanja dogodkom;
V tabeli lahko najdete vse vmesnike tipa Listener in razrede tipa Adapter, ter metode, ki jih imajo. Večina metod ima jasna imena in ponazarjajo, kakšne dogodke pokrivajo.
Še nekaj primerov; primeri so vzeti iz razdelka o komponentah, le da je komponentam sedaj dodana še funkcionalnost:
Button;
TextField;
TextArea;
CheckBox;
Choice;
List;

 
 

Back Up Next