udalosť v Java je objekt, ktorý sa vytvára, keď sa niečo zmení v grafickom používateľskom rozhraní. Ak používateľ klikne na tlačidlo, klikne na kombinované pole alebo do textového poľa zadá znaky, atď., Spustí sa udalosť a vytvorí sa príslušný objekt udalosti. Toto správanie je súčasťou mechanizmu vybavovania udalostí Java a je zahrnuté v knižnici GUI servera Swing.
Napríklad povedzme, že máme JButton. Ak užívateľ klikne na JButton, spustí sa udalosť kliknutia na tlačidlo, udalosť sa vytvorí a odošle sa príslušnej udalosti poslucháč udalostí (v tomto prípade ActionListener). Príslušný poslucháč bude mať implementovaný kód, ktorý určuje akciu, ktorá sa má vykonať, keď nastane udalosť.
Všimnite si, že zdroj udalosti musieť byť spárovaný s poslucháčom udalostí, alebo jeho spustenie nebude mať za následok žiadnu akciu.
Ako udalosti fungujú
Spracovanie udalostí v Jave pozostáva z dvoch kľúčových prvkov:
- Zdroj udalosti, čo je objekt, ktorý sa vytvorí pri výskyte udalosti. Java poskytuje niekoľko typov týchto zdrojov udalostí, ktoré sú uvedené v tejto časti Typy udalostí nižšie.
- Poslucháč udalostí, objekt, ktorý „počúva“ udalosti a spracováva ich, keď sa vyskytnú.
V Jave existuje niekoľko typov udalostí a poslucháčov: každý typ udalosti je spojený s príslušným poslucháčom. Pri tejto diskusii zvážme bežný typ udalosti akčná udalosť zastúpené triedou Java ActionEvent, ktorá sa spustí, keď používateľ klikne na tlačidlo alebo položku zoznamu.
Na základe akcie používateľa, ActionEvent vytvorí sa objekt zodpovedajúci príslušnej akcii. Tento objekt obsahuje informácie o zdroji udalosti, ako aj špecifickú akciu, ktorú podnikol užívateľ. Tento objekt udalosti sa potom odovzdá príslušnému ActionListener metóda objektu:
void actionPerformed (ActionEvent e)
Táto metóda sa vykoná a vráti príslušnú odpoveď GUI, ktorou môže byť otvorenie alebo zatvorenie dialógového okna, stiahnuť súbor, poskytnúť digitálny podpis alebo akékoľvek iné nespočetné množstvo akcií, ktoré majú používatelia k dispozícii v systéme Windows rozhranie.
Typy udalostí
Tu uvádzame niektoré z najbežnejších typov udalostí v jazyku Java:
- ActionEvent: Predstavuje kliknutie na grafický prvok, napríklad na tlačidlo alebo položku v zozname. Súvisiaci poslucháč: ActionListener.
- ContainerEvent: Predstavuje udalosť, ktorá sa vyskytuje v samotnom kontajneri GUI, napríklad ak používateľ pridá alebo odstráni objekt z rozhrania. Súvisiaci poslucháč: ContainerListener.
- KeyEvent: Predstavuje udalosť, pri ktorej používateľ stlačí, napíše alebo uvoľní kľúč. Súvisiaci poslucháč: KeyListener.
- WindowEvent: Predstavuje udalosť týkajúcu sa okna, napríklad keď je okno zatvorené, aktivované alebo deaktivované. Súvisiaci poslucháč: WindowListener.
- MouseEvent: Predstavuje akúkoľvek udalosť súvisiacu s myšou, napríklad po kliknutí alebo stlačení myši. Súvisiaci poslucháč: MouseListener.
Upozorňujeme, že viacerí poslucháči a zdroje udalostí môžu navzájom spolupracovať. Napríklad jeden poslucháč môže zaregistrovať viac udalostí, ak sú rovnakého typu. To znamená, že pre podobný súbor komponentov, ktoré vykonávajú rovnaký typ akcie, jeden poslucháč udalostí zvládne všetky udalosti. Podobne môže byť jediná udalosť viazaná na viacerých poslucháčov, ak to vyhovuje dizajnu programu (aj keď je to menej bežné).