Обработка событий в Java: что это такое и как это работает?
Опубликовано: 2020-03-21Любая программа с графическим пользовательским интерфейсом или графическим интерфейсом, включая Java-приложение для Windows, управляется событиями. Чтобы такая программа, как Java-приложение, была полезной, она должна отвечать на команды или вводимые пользователем данные. В приложениях Java есть события для захвата действий пользователя. Прежде чем мы обсудим обработку событий в Java, давайте начнем с обсуждения событий.
Оглавление
Что такое событие?
События имеют одинаковое значение и важность в каждом языке программирования. Это внешние эффекты, которыми управляет пользователь и которые заставляют ваше приложение вести себя в соответствии с предварительно определенным условием, установленным для записи его реакции на различные действия пользователя. Событие можно даже назвать объектом, который оживает, когда в графическом интерфейсе происходит изменение.
Примеры событий в Java включают ввод символов или текста, нажатие на поле со списком, нажатие на кнопку или любое другое действие со стороны пользователя. Любое такое действие запускает событие, которое затем приводит к созданию объекта события, соответствующего этому событию.
Например, если пользователь вводит какие-либо данные (действие пользователя, которое запускает событие), приложение производит вывод, выводя диалоговое окно или отображая информацию (объект события). Это поведение, связанное с событиями, является частью механизма обработки событий Java и присутствует в библиотеке Swing GUI. Важно отметить, что источник каждого события и прослушиватель событий должны быть связаны. Если это не так, запуск события не приведет ни к каким действиям.
Почему программа или приложение должны управляться событиями?
Прежде чем появилась обработка событий, программа должна была сама собирать всю пользовательскую информацию, чтобы знать, что она делает в данный момент времени. Это означает, что после запуска или инициализации программа всегда находилась в большом повторяющемся цикле, ожидая, когда пользователь что-то сделает.
Итак, программа искала любое действие — от нажатия кнопки до перемещения ползунка. Узнав, что со стороны пользователя что-то произошло, он приготовился дать соответствующий ответ. Это называется опросом. Несмотря на то, что опрос выполняет свою работу, чаще всего он кажется слишком неуправляемой и трудоемкой задачей.

Читайте: Интервью с разработчиком Java Вопросы и ответы
Если мы рассмотрим его использование для современных приложений, он не совсем соответствует требованиям. Две основные причины делают опрос непригодным для современных приложений: опрос помещает весь код, связанный с событиями, в большой повторяющийся цикл, а взаимодействия, происходящие в этом месте, слишком сложны. Кроме того, опрос заставляет программу войти в бесконечный цикл, что приводит к исчерпанию циклов ЦП без каких-либо гарантий действий со стороны пользователя.
Инструментарий Abstract Window Toolkit или AWT пошел дальше и вызвал ассоциации с другой рабочей моделью для решения проблемы, описанной выше. Эта новая модель представляет собой программирование, управляемое событиями. С AWT программе не нужно следить за пользовательскими событиями. Эту работу выполняет среда выполнения Java. Это намекает на программу, как только происходит событие. Это спасает ценный ресурс от истощения и лучше обрабатывает взаимодействие с пользователем.
Что такое обработчики событий в Java и как они работают?
Давайте теперь обсудим основную тему, которую мы намеревались рассмотреть. Как работает обработка событий в Java?
Как упоминалось ранее, события — это действия пользователя или внешние эффекты, которые заставляют приложение вести себя определенным образом. В Java компоненты AWT, включая текстовое поле, кнопку и другие, отвечают за генерацию событий. Как только событие сгенерировано, прослушиватель обрабатывает его и выполняет соответствующее действие.

Обработка событий в Java состоит из четырех элементов. Их можно даже назвать обработчиками событий.
1. Источник события. Источником события, который генерирует событие, в основном является компонент AWT. Вы можете запустить команду java.awt.component , чтобы узнать о компонентах, которые могут или не могут играть какую-либо роль в генерации событий. Компоненты являются подклассом исходного исходного класса. Источниками событий могут быть любые текстовые поля и поля со списком, кнопки и многое другое.
Читайте: Архитектура MVC в Java
2. Классы событий . В Java это классы, которые учитывают почти все компоненты, связанные с генерацией событий. Их также называют типами событий. Вот несколько наиболее распространенных классов событий:
- ActionEvent : этот класс или тип события представляет событие, которое включает в себя щелчок графического элемента, такого как кнопка или элемент списка. Слушатель, связанный с этим классом, — ActionListener.
- KeyEvent : этот класс событий представляет событие, которое включает в себя нажатие и отпускание клавиши. Прослушиватель, связанный с этим классом, — KeyListener.
- ContainerEvent : этот тип события представляет собой событие, которое происходит с контейнером GUI. Этот класс связан с любым событием, когда действие пользователя включает добавление или удаление объекта(ов) из графического пользовательского интерфейса. Связанный прослушиватель для этого класса — ContainerListener.
- MouseEvent : этот класс представляет все те события, которые включают щелчок или нажатие мыши. Слушателем этого класса является MouseListener.
- WindowEvent : этот класс или тип событий представляет события, которые включают любое действие, связанное с окном. Закрытие, активация или деактивация окна относятся к этому классу. Связанный прослушиватель для этого класса — WindowListener.
3. Прослушиватели событий : это интерфейсы Java, предоставляющие различные методы, которые можно использовать в разных реализованных классах. Работа прослушивателей событий включает в себя прослушивание событий и их последующую обработку, когда они происходят. Почти у каждого компонента в Java есть специальный слушатель, который обрабатывает любое событие, создаваемое этим компонентом. ActionListener обрабатывает события, включающие списки, кнопки, текстовые поля и меню.
4. Адаптеры событий . Если программа содержит слишком много абстрактных методов, которые прослушиватель может переопределить, ее компиляция может оказаться сложной. Например, если мы хотим закрыть фрейм, есть семь абстрактных методов WindowListener, которые нам нужно переопределить. Чтобы уменьшить сложность и объем кода, в Java есть адаптеры событий. Адаптеры событий уже являются переопределенными абстрактными методами.
Заключение
Важно помнить, что несколько источников событий и слушателей могут взаимодействовать друг с другом. Таким образом, несколько событий, принадлежащих одному и тому же классу, могут обрабатываться одним слушателем. Это означает, что один прослушиватель может обрабатывать все те события, в которых задействованы одни и те же компоненты, выполняющие аналогичные действия. Аналогично, одно событие может обрабатываться более чем одним слушателем, только если структура программы позволяет это.

Имеет смысл?
Да?
Нет?
Свяжитесь с нами, чтобы узнать об обширном занятии по обработке событий в Java. Вы бы не пожалели!
Если вам интересно узнать больше о Java для веб-разработки, ознакомьтесь с дипломом upGrad & IIIT-B PG в области разработки программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов тщательного обучения, более 9 проектов и заданий, Статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.