„Java“ įvykių klausytojai apdoroja vartotojo veiklą GUI

Renginio klausytojas „Java“ yra skirtas apdoroti tam tikrą įvykį - jis „klauso“ įvykio, pavyzdžiui, vartotojo pelės paspaudimo ar klavišo paspaudimo, tada atitinkamai reaguoja. Įvykio klausytojas turi būti prijungtas prie įvykio objekto, kuris apibūdina įvykį.

Pavyzdžiui, tokie grafiniai komponentai kaip a JButtonas arba JTextField yra žinomi kaip įvykių šaltiniai. Tai reiškia, kad jie gali generuoti įvykius (vadinamus įvykių objektai), pvz., pateikti JButtonas vartotojui spustelėjus, arba a JTextField kuriame vartotojas gali įvesti tekstą. Renginio klausytojo darbas yra pagauti tuos įvykius ir ką nors su jais padaryti.

Kaip veikia renginių klausytojai

Kiekvienoje įvykio klausytojo sąsajoje yra bent vienas metodas, kurį naudoja lygiavertis įvykio šaltinis.

Šioje diskusijoje apsvarstykime įvykį su pele, t. Y. Bet kuriuo metu, kai vartotojas spustelės ką nors pele, atstovaujamą „Java“ klasei „MouseEvent“. Norėdami tvarkyti tokio tipo įvykius, pirmiausia sukursite „MouseListener“ klasė, įgyvendinanti „Java“

instagram viewer
„MouseListener“ sąsaja. Ši sąsaja turi penkis metodus; įgyvendinkite tą, kuris susijęs su pelės veiksmu, kurio, jūsų manymu, imsis jūsų vartotojas. Šitie yra:

  • negalioja pelės paspaudimas („MouseEvent e“)

    Iššaukiama, kai pelės mygtuką paspaudžiate (paspaudžiate ir atleidžiate) ant komponento.
  • void mouseEntered („MouseEvent e“)

    Iškviečiama, kai pelė įveda komponentą.
  • void mouseExited („MouseEvent e“)

    Iššaukiama, kai pelė išeina iš komponento.
  • negaliojantis „mousePressed“ („MouseEvent e“)

    Iššaukiama, kai ant komponento paspaudžiamas pelės mygtukas.
  • negaliojanti „mouseReleased“ („MouseEvent e“)

    Iššaukiama, kai komponento elementui atleidžiamas pelės mygtukas

Kaip matote, kiekvienas metodas turi vieną įvykio objekto parametrą: tam tikrą pelės įvykį, kurį jis skirtas valdyti. Tavo „MouseListener“ klasė, tu Registruotis „klausytis“ bet kurio iš šių įvykių, kad būtumėte informuotas apie įvykius.

Kai įvykis suaktyvėja (pavyzdžiui, vartotojas spustelėja pelę, kaip nurodyta) „mouseClicked“ () metodas aukščiau), atitinkamas „MouseEvent“ objektas, vaizduojantis tą įvykį, yra sukuriamas ir perduodamas „MouseListener“ objektas užregistruotas jį gauti.

Renginių klausytojų tipai

Renginių klausytojai vaizduojami skirtingomis sąsajomis, kurių kiekviena yra skirta lygiaverčiam įvykiui apdoroti.

Atminkite, kad renginių klausytojai yra lankstūs, nes vieną klausytoją galima užregistruoti „klausytis“ kelių tipų renginių. Tai reiškia, kad panašų komponentų rinkinį, kuris atlieka to paties tipo veiksmus, vienas įvykio klausytojas gali tvarkyti visus įvykius.

Čia pateikiami keli labiausiai paplitę tipai:

  • „ActionListener“: Klauso „ActionEvent“y., kai spustelėjamas grafinis elementas, pavyzdžiui, mygtukas ar elementas sąraše.
  • „ContainerListener“: Klauso a „ContainerEvent“, kuris gali įvykti, jei vartotojas pridės arba pašalins objektą iš sąsajos.
  • „KeyListener“: Klausosi „KeyEvent“ kuriame vartotojas paspaudžia, įveda arba atleidžia raktą.
  • „WindowListener“: Klauso a „WindowEvent“, pavyzdžiui, kai langas uždarytas, įjungtas arba išjungtas.
  • „MouseListener“: Klauso a „MouseEvent“, pvz., kai spustelėjama arba paspaudžiama pelė.