Программирование на языке Java

Таблица 6. Типы событий, слушатели



Таблица 6. Типы событий, слушатели и методы слушателей в Java 1.1

Класс событияИнтерфейс слушателяМетоды слушателя
ActionEventActionListeneractionPerformed()
AdjustmentEventAdjustmentListeneradjustmentValueChanged()
ComponentEventComponentListenercomponentHidden()
componentMoved()
componentResized()
componentShown()
ContainerEventContainerListenercomponentAdded()
componentRemoved()
FocusEventFocusListenerfocusGained()
focusLost()
ItemEventItemListeneritemStateChanged()
KeyEventKeyListenerkeyPressed()
keyReleased()
keyTyped()
MouseEventMouseListenermouseClicked()
mouseEntered()
mouseExited()
mousePressed()
mouseReleased()
MouseMotionListenermouseDragged()
mouseMoved()
TextEventTextListenertextValueChanged()
WindowEventWindowListenerwindowActivated()
windowClosed()
windowClosing()
windowDeactivated()
windowDeiconified()
windowlconified()
windowOpened()
Для каждого интерфейса слушателей событий, содержащего несколько методов, в пакете java.awt.event определен простой класс-адаптер, который обеспечивает пустое тело для каждого из методов соответствующего интерфейса. Когда нужен только один или два таких метода, иногда проще получить подкласс класса-адаптера, чем реализовать интерфейс самостоятельно. При получении подкласса адаптера требуется лишь переопределить те методы, которые нужны, а при прямой реализации интерфейса необходимо определить все методы, в том числе и ненужные в данной программе. Заранее определенные классы-адаптеры называются так же, как и интерфейсы, которые они реализуют, но в этих названиях Listener заменяется на Adapter: MouseAdapter, WindowAdapter и т.д.

Как только реализован интерфейс слушателя или получены подклассы класса-адаптера, необходимо создать экземпляр нового класса, чтобы определить конкретный объект слушателя событий. Затем этот слушатель должен быть зарегистрирован соответствующим источником событий. В программах пакета AWT источником событий всегда является какой-нибудь элемент пакета. В методах регистрации слушателей событий используются стандартные соглашения об именах: если источник событий порождает события типа X, в нем существует метод addXListener () для добавления слушателя и метод removeXListener() для его удаления. Одной из приятных особенностей модели обработки событий Java 1.1 является возможность легко определять типы событий, которые могут порождаться данным элементом. Для этого следует просто просмотреть, какие методы зарегистрированы для его слушателя событий. Например, из описания API для объекта класса Button следует, что он порождает события ActionEvent. В таблице 7 приведен список элементов пакета AWT и событий, которые они порождают.


Содержание раздела