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

click fraud protection

Една събитие в Java е обект, който се създава, когато нещо се промени в графичен потребителски интерфейс. Ако потребителят кликне върху бутон, кликне върху комбинирано поле или въведе символи в текстово поле и т.н., тогава събитието се задейства, създавайки съответния обект на събитие. Това поведение е част от механизма за обработка на събития на Java и е включено в библиотеката на Swing GUI.

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

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

Как работят събитията

Обработката на събития в Java се състои от два ключови елемента:

  • Източникът на събитието
    instagram viewer
    , което е обект, който се създава, когато се случи събитие. Java предоставя няколко типа тези източници на събития, разгледани в раздела Видове събития По-долу.
  • Слушателят на събитието, обектът, който „слуша“ за събития и ги обработва, когато се появят.

В Java има няколко типа събития и слушатели: всеки тип събитие е обвързан със съответния слушател. За тази дискусия нека разгледаме общ тип събитие, an действие събитие представена от класа Java ActionEvent, която се задейства, когато потребителят натисне бутон или елемент от списък.

При действието на потребителя ActionEvent обект, съответстващ на съответното действие е създаден. Този обект съдържа както информацията за източника на събитието, така и конкретните действия, предприети от потребителя. След това този обект на събитие се предава на съответния ActionListener метод на обекта:

 невалидни действияИзвършено (ActionEvent e)

Този метод се изпълнява и връща съответния GUI отговор, който може да е за отваряне или затваряне на диалогов прозорец, изтеглете файл, предоставете цифров подпис или всякакви безброй действия, достъпни за потребителите в интерфейс.

Видове събития

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

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

Имайте предвид, че множество слушатели и източници на събития могат да си взаимодействат помежду си. Например няколко събития могат да бъдат регистрирани от един слушател, ако са от един и същи тип. Това означава, че за подобен набор от компоненти, които извършват един и същ тип действие, един слушател на събития може да се справи с всички събития. По подобен начин едно събитие може да бъде обвързано с множество слушатели, ако това отговаря на дизайна на програмата (въпреки че това е по-рядко срещано).

instagram story viewer