Ürituse kuulaja sisse Java on mõeldud mingi sündmuse töötlemiseks - see "kuulab" sündmust, näiteks kasutaja hiireklõpsu või klahvivajutust, ja reageerib sellele vastavalt. Sündmuse kuulaja peab olema ühendatud sündmuse objektiga, mis sündmuse määratleb.
Näiteks graafilised komponendid nagu a JButton või JTextField on tuntud kui sündmuste allikad. See tähendab, et nad saavad genereerida sündmusi (nn sündmuste objektid), näiteks a JButton kasutaja klõpsamiseks või a JTextField kuhu kasutaja saab teksti sisestada. Ürituse kuulaja ülesanne on need sündmused tabada ja nendega midagi ette võtta.
Kuidas sündmuskuulajad töötavad
Iga sündmuse kuulaja liides sisaldab vähemalt ühte meetodit, mida kasutab samaväärne sündmuse allikas.
Selle arutelu jaoks kaaluge hiire sündmust, s.t igal ajal, kui kasutaja klõpsab hiirega midagi, mida esindab Java klass MouseEvent. Seda tüüpi sündmuste käsitlemiseks looge kõigepealt a MouseListener klass, mis rakendab Java MouseListener liides. Sellel liidesel on viis meetodit; rakendage see, mis on seotud hiire toimingu tüübiga, mida teie kasutaja eeldab. Need on:
-
kehtetu hiireklikitud (MouseEvent e)
Kutsutud, kui komponendi hiirenupul on klõpsitud (vajutatud ja vabastatud). -
void mouseEntered (MouseEvent e)
Kutsutakse, kui hiir sisestab komponendi. -
void mouseExited (MouseEvent e)
Kutsutakse, kui hiir komponendist väljub. -
tühine mousePressed (MouseEvent e)
Kutsutakse välja, kui komponendile on vajutatud hiirenuppu. -
void mouseReleased (MouseEvent e)
Kutsutakse välja, kui komponendi hiirenupp on vabastatud
Nagu näete, on igal meetodil üks sündmusobjekti parameeter: konkreetne hiire sündmus, mille jaoks see on mõeldud. Oma MouseListener klass, sina Registreeri "kuulata" mõnda neist sündmustest, et teid teavitataks nende toimumisest.
Kui sündmus käivitub (näiteks klõpsab kasutaja hiirega vastavalt) hiireklõpsuga () meetod eespool), asjakohane MouseEvent objekt, mis seda sündmust esindab, luuakse ja edastatakse MouseListener objekt on selle kättesaamiseks registreeritud.
Ürituste kuulajate tüübid
Ürituste kuulajaid esindavad erinevad liidesed, millest igaüks on mõeldud samaväärse sündmuse töötlemiseks.
Pange tähele, et sündmuste kuulajad on paindlikud, kuna ühe kuulaja saab registreeruda mitut tüüpi sündmuste kuulamiseks. See tähendab, et sama tüüpi toimingute sarnaste komponentide komplekti korral saab üks sündmuse kuulaja kõiki sündmusi käsitleda.
Siin on mõned kõige tavalisemad tüübid:
- ActionListener: Kuulab ActionEvent, st kui klõpsatakse graafilisele elemendile, näiteks nupule või loendi üksusele.
- ContainerListener: Kuulab a ContainerEvent, mis võib ilmneda siis, kui kasutaja lisab või eemaldab objekti liideselt.
- KeyListener: Kuulab a KeyEvent milles kasutaja klahvi vajutab, tippib või vabastab.
- WindowListener: Kuulab a WindowEventnäiteks kui aken on suletud, aktiveeritud või deaktiveeritud.
- MouseListener: Kuulab a MouseEvent, näiteks hiire klõpsamisel või vajutamisel.