Слушателите на Java събития обработват потребителска активност в GUI

Слушател на събитие в Ява е предназначен за обработка на някакъв вид събитие - той "слуша" за дадено събитие, като например кликване на мишката на потребителя или натискане на клавиш и след това реагира съответно. Слушателят на събитие трябва да бъде свързан към обект на събитие, който дефинира събитието.

Например графични компоненти като a JButton или JTextField са известни като източници на събития. Това означава, че те могат да генерират събития (наречени обекти на събитието), като например предоставяне на JButton за потребителя да щракне или JTextField в който потребителят може да въведе текст. Работата на слушателя на събитието е да улови тези събития и да направи нещо с тях.

Как работят слушателите на събития

Всеки интерфейс за слушател на събития включва поне един метод, използван от еквивалентния източник на събития.

За тази дискусия нека помислим за събитие с мишка, т.е. всеки път, когато потребителят кликне върху нещо с мишка, представено от класа Java MouseEvent. За да се справите с този тип събития, първо трябва да създадете a

instagram viewer
MouseListener клас, който реализира Java MouseListener интерфейс. Този интерфейс има пет метода; внедрете тази, която се отнася до типа действие на мишката, което очаквате да предприеме потребител. Това са:

  • void mouseClickked (MouseEvent e)

    Извиква се, когато бутонът на мишката е щракнат (натиснат и освободен) на компонент.
  • void mouseEntered (MouseEvent e)

    Извиква се, когато мишката въведе компонент.
  • void mouseExited (MouseEvent e)

    Извиква се, когато мишката излезе от компонент.
  • невалидна мишкаПресценна (MouseEvent e)

    Извиква се, когато върху компонент е натиснат бутон на мишката.
  • void mouseReleased (MouseEvent e)

    Извиква се, когато бутонът на мишката е пуснат на компонент

Както можете да видите, всеки метод има един параметър за обект на събитие: конкретното събитие на мишката, с което е проектиран да борави. Във вашия MouseListener клас, ти регистрирам да "слушате" всяко от тези събития, така че да сте информирани, когато те се случват.

Когато събитието задейства (например, потребителят кликва върху мишката, както е показано на mouseClicked () метод по-горе), уместно MouseEvent обект, представляващ това събитие, се създава и се предава на MouseListener обект, регистриран, за да го получи.

Видове слушатели на събития

Слушателите на събития са представени от различни интерфейси, всеки от които е предназначен да обработва еквивалентно събитие.

Обърнете внимание, че слушателите на събития са гъвкави, тъй като един слушател може да бъде регистриран, за да "слуша" множество видове събития. Това означава, че за подобен набор от компоненти, които извършват един и същ тип действие, един слушател на събития може да се справи с всички събития.

Ето някои от най-често срещаните видове:

  • ActionListener: Слуша за ActionEventт.е. когато се натисне графичен елемент, като бутон или елемент в списък.
  • ContainerListener: Слуша за ContainerEvent, което може да възникне, ако потребителят добави или премахне обект от интерфейса.
  • KeyListener: Слуша за a KeyEvent в който потребителят натиска, въвежда или освобождава ключ.
  • WindowListener: Слуша за WindowEvent, например, когато прозорец е затворен, активиран или деактивиран.
  • MouseListener: Слуша за MouseEvent, например когато се натисне или натисне мишка.