Когда возникает событие, управление получает
метод handleEvent из класса Component. Класс Applet является
дочерним по отношению к классу Component.
В качестве параметра методу handleEvent передается
объект класса Event, который содержит всю
информацию о событии. По содержимому полей
класса Event вы можете определить координаты
курсора мыши в момент, когда пользователь нажал
клавишу, отличить одинарный щелчок от двойного и
так далее.
Ниже мы привели список полей класса Event, которые
вы можете проанализировать:
| Поле |
Описание |
| public Object argarg; |
Произвольный аргумент события,
значение которого зависит от типа события |
| public int clickCountclickCount;
|
Это поле имеет значение только
для события с типом MOUSE_DOWNMOUSE_DOWN и содержит количество
нажатий на клавишу мыши. Если пользователь сделал двойной щелчок
мышью, в это поле будет записано значение 2 |
| public Event evtevt; |
Следующее событие в связанном списке |
| public int idid; |
Тип события. Ниже мы перечислим
возможные значения для этого поля |
| public int keykey; |
Код нажатой клавиши (только для
события, созданного при выполнении пользователем операции с
клавиатурой) |
| public int modifiersmodifiers;
|
Состояние клавиш модификации <Alt>,
<Ctrl>, <Shift> |
| public Object targettarget; |
Компонент, в котором произошло
событие |
| public long whenwhen; |
Время, когда произошло событие |
| public int xx; |
Координата по оси X |
| public int yy; |
Координата по оси Y |
| Значение |
Тип события |
| ACTION_EVENTACTION_EVENT
|
Пользователь хочет, чтобы произошло
некоторое событие |
| GOT_FOCUSGOT_FOCUS |
Компонент (в нашем случае окно
аплета) получил фокус ввода. О фокусе ввода вы узнаете из раздела,
посвященного работе с клавиатурой |
| KEY_ACTIONKEY_ACTION |
Пользователь нажал клавишу типа
"Action" |
| KEY_ACTION_RELEASEKEY_ACTION_RELEASE
|
Пользователь отпустил клавишу типа
"Action" |
| KEY_PRESSKEY_PRESS |
Пользователь нажал обычную клавишу |
| KEY_RELEASEKEY_RELEASE |
Пользователь отпустил обычную клавишу |
| LIST_DESELECTLIST_DESELECT
|
Отмена выделения элемента в списке |
| LIST_SELECTLIST_SELECT |
Выделение элемента в списке |
| LOAD_FILELOAD_FILE |
Загрузка файла |
| LOST_FOCUSLOST_FOCUS |
Компонент потерял фокус ввода |
| MOUSE_DOWNMOUSE_DOWN |
Пользователь нажал клавишу мыши |
| MOUSE_DRAGMOUSE_DRAG |
Пользователь нажал клавишу мыши
и начал выполнять перемещение курсора мыши |
| MOUSE_ENTERMOUSE_ENTER |
Курсор мыши вошел в область окна
аплета |
| MOUSE_EXITMOUSE_EXIT |
Курсор мыши покинул область окна
аплета |
| MOUSE_MOVEMOUSE_MOVE |
Пользователь начал выполнять перемещение
курсора мыши, не нажимая клавишу мыши |
| MOUSE_UPMOUSE_UP |
Пользователь отпустил клавишу мыши
|
| SAVE_FILESAVE_FILE |
Сохранение файла |
| SCROLL_ABSOLUTESCROLL_ABSOLUTE
|
Пользователь переместил движок
полосы просмотра в новую позицию |
| SCROLL_LINE_DOWNSCROLL_LINE_DOWN
|
Пользователь выполнил над полосой
просмотра операцию сдвига на одну строку вниз |
| SCROLL_LINE_UPSCROLL_LINE_UP
|
Пользователь выполнил над полосой
просмотра операцию сдвига на одну строку вверх |
| SCROLL_PAGE_DOWNSCROLL_PAGE_DOWN
|
Пользователь выполнил над полосой
просмотра операцию сдвига на одну страницу вниз |
| SCROLL_PAGE_UPSCROLL_PAGE_UP
|
Пользователь выполнил над полосой
просмотра операцию сдвига на одну страницувверх |
| WINDOW_DEICONIFYWINDOW_DEICONIFY
|
Пользователь запросил операцию
восстановления нормального размера окна после его минимизации
|
| WINDOW_DESTROYWINDOW_DESTROY
|
Пользователь собирается удалить
окно |
| WINDOW_EXPOSEWINDOW_EXPOSE
|
Окно будет отображено |
| WINDOW_ICONIFYWINDOW_ICONIFY
|
Окно будет минимизировано |
| WINDOW_MOVEDWINDOW_MOVED
|
Окно будет перемещено |
Если событие связано с клавиатурой (тип события
KEY_ACTION или KEY_ACTION_RELEASE), в поле key может находиться
одно из следующих значений:
Ваше приложение может переопределить метод
handleEvent и обрабатывать события самостоятельно,
однако есть более простой путь. Обработчик этого
метода, который используется по умолчанию,
вызывает несколько методов, которые более удобны
в использовании, в частности, при обработке
событий от мыши или клавиатуры.