Tapahtuman kuuntelija Jaava on suunniteltu käsittelemään jonkinlaista tapahtumaa - se "kuuntelee" tapahtumaa, kuten käyttäjän hiiren napsautusta tai näppäinpainalluksia, ja vastaa sitten vastaavasti. Tapahtuman kuuntelijan on oltava yhteydessä tapahtumaobjektiin, joka määrittelee tapahtuman.
Esimerkiksi graafiset komponentit, kuten a JButton tai JTextField tunnetaan nimellä tapahtuman lähteet. Tämä tarkoittaa, että he voivat luoda tapahtumia (kutsutaan tapahtumaobjektit), kuten tarjoamalla JButton käyttäjän napsauttamiseksi tai JTextField johon käyttäjä voi kirjoittaa tekstiä. Tapahtuman kuuntelijan tehtävä on kiinni noista tapahtumista ja tehdä jotain heidän kanssaan.
Kuinka tapahtuman kuuntelijat toimivat
Jokainen tapahtuman kuuntelijaliittymä sisältää ainakin yhden menetelmän, jota vastaava tapahtumalähde käyttää.
Tarkastellaan tätä keskustelua varten hiiretapahtuma, ts. Milloin tahansa käyttäjä napsauttaa jotain hiirellä, jota Java-luokka edustaa MouseEvent. Tämän tyyppisten tapahtumien käsittelemiseksi sinun on ensin luotava
MouseListener luokka, joka toteuttaa Java MouseListener käyttöliittymä. Tällä käyttöliittymällä on viisi menetelmää; toteuta se, joka liittyy siihen hiiren toimintatyyppiin, jonka odotat käyttäjän tekevän. Nämä ovat:-
void mouseClicked (MouseEvent e)
Kutsu, kun hiiren painiketta on napsautettu (painettu ja vapautettu) komponentissa. -
void mouseEntered (MouseEvent e)
Kutsu, kun hiiri tulee komponenttiin. -
void mouseExited (MouseEvent e)
Kutsu, kun hiiri poistuu komponentista. -
void mousePressed (MouseEvent e)
Kutsu, kun hiiren painiketta on painettu komponentissa. -
void mouseReleased (MouseEvent e)
Kutsu, kun hiiren painike on vapautettu komponentista
Kuten näette, jokaisella menetelmällä on yksi tapahtumaobjektiparametri: tietty hiiretapahtuma, jonka se on suunniteltu käsittelemään. Sinun MouseListener luokka, sinä ilmoittautua "kuunnella" mitä tahansa näistä tapahtumista, jotta sinulle ilmoitetaan, kun ne tapahtuvat.
Kun tapahtuma välähtää (esimerkiksi käyttäjä napsauttaa hiirtä, kuten) mouseClicked () menetelmä edellä), merkityksellinen MouseEvent kyseistä tapahtumaa edustava objekti luodaan ja välitetään MouseListener esine on rekisteröity vastaanottamaan se.
Tapahtuman kuuntelijoiden tyypit
Tapahtuman kuuntelijoita edustavat erilaiset rajapinnat, joista kukin on suunniteltu käsittelemään vastaava tapahtuma.
Huomaa, että tapahtumien kuuntelijat ovat joustavia siinä mielessä, että yksi kuuntelija voidaan rekisteröidä "kuuntelemaan" monentyyppisiä tapahtumia. Tämä tarkoittaa, että samanlaiselle komponenttijoukolle, joka suorittaa samantyyppisen toiminnan, yksi tapahtuman kuuntelija voi käsitellä kaikkia tapahtumia.
Tässä on joitain yleisimmistä tyypeistä:
- ActionListener: Kuuntelee ActionEventeli kun napsautetaan graafista elementtiä, kuten nappia tai kohdetta luettelossa.
- ContainerListener: Kuuntelee ContainerEvent, joka voi tapahtua, jos käyttäjä lisää tai poistaa objektin käyttöliittymästä.
- KeyListener: Kuuntelee KeyEvent jossa käyttäjä painaa, kirjoittaa tai vapauttaa näppäimen.
- WindowListener: Kuuntelee WindowEventesimerkiksi kun ikkuna on suljettu, aktivoitu tai deaktivoitu.
- MouseListener: Kuuntelee MouseEvent, kuten hiiren napsautuksella tai painettaessa.