Читайте также:
|
|
Графический пользовательский интерфейс приложения относится к системам, управляемым по событиям:
– при запуске программы создается пользовательский интерфейс;
– далее приложение ожидает наступления некоторого события, связанного с пользовательским интерфейсом;
– при наступлении события программа выполняет необходимые действия, а затем снова переходит в режим ожидания.
Событием в пользовательском интерфейсе считается
– непосредственное действие пользователя (щелчок или движение мыши, нажатие клавиши),
– изменение состояния какого-либо компонента интерфейса (например, изменение состояния кнопки-переключателя).
При обработке событий в библиотеке Java взаимодействуют три вида объектов:
источник события
обычно компонент пользовательского интерфейса
слушатель события
объект, которые получает информацию о произошедшем событии
объект-событие
содержат в себе информацию о произошедшем событии и источнике этого события
Для обработки событий используется шаблон проектирования "Слушатель" (Observer).
В соответствии с этим шаблоном объект-источник события регистрирует всех объектов-слушателей, желающих получать информацию о событиях, и отправляет слушателям сообщения о произошедшем событии.
Подобный подход позволяет сделать используемые объекты максимально независимыми друг от друга.
У одного и того же источника событий может быть несколько слушателей:
Один и тот же объект может являться слушателем у нескольких источников событий:
Для описания объектов-событий используются классы, являющиеся потомками java.awt.AWTEvent.
Каждый класс, описывающий событие, содержит свои специфические методы, позволяющие получить информацию о произошедшем событии.
Дата добавления: 2015-09-11; просмотров: 5 | Нарушение авторских прав
Типы Java-приложений | Операторы | Основные методы класса String | Объектно-ориентированное программирование | Базовая иерархия классов исключений | Основные методы класса InputStream | Буферизованный ввод-вывод | Коллекции | Графический пользовательский интерфейс | gr2d.fillRectangle(x,y,width,height); |