Как обрабатываются события
Когда возникает событие, управление получает метод handleEvent из класса Component. Класс Applet является дочерним по отношению к классу Component.
Прототип метода handleEvent мы привели ниже:
public boolean handleEvent(Event evt);
В качестве параметра методу 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 |
Поле id (тип события) может содержать следующие значения:
Значение | Тип события |
Пользователь хочет, чтобы произошло некоторое событие | |
Компонент (в нашем случае окно аплета) получил фокус ввода. О фокусе ввода вы узнаете из раздела, посвященного работе с клавиатурой | |
Пользователь нажал клавишу типа "Action" | |
Пользователь отпустил клавишу типа "Action" | |
Пользователь нажал обычную клавишу | |
Пользователь отпустил обычную клавишу | |
Отмена выделения элемента в списке | |
Выделение элемента в списке | |
Загрузка файла | |
Компонент потерял фокус ввода | |
Пользователь нажал клавишу мыши | |
Пользователь нажал клавишу мыши и начал выполнять перемещение курсора мыши | |
Курсор мыши вошел в область окна аплета | |
Курсор мыши покинул область окна аплета | |
Пользователь начал выполнять перемещение курсора мыши, не нажимая клавишу мыши | |
Пользователь отпустил клавишу мыши | |
Сохранение файла | |
Пользователь переместил движок полосы просмотра в новую позицию | |
Пользователь выполнил над полосой просмотра операцию сдвига на одну строку вниз | |
Пользователь выполнил над полосой просмотра операцию сдвига на одну строку вверх | |
Пользователь выполнил над полосой просмотра операцию сдвига на одну страницу вниз | |
Пользователь выполнил над полосой просмотра операцию сдвига на одну страницувверх | |
Пользователь запросил операцию восстановления нормального размера окна после его минимизации | |
Пользователь собирается удалить окно | |
Окно будет отображено | |
Окно будет минимизировано | |
Окно будет перемещено |
Если событие связано с клавиатурой (тип события KEY_ACTION или KEY_ACTION_RELEASE), в поле key может находиться одно из следующих значений:
Значение | Клавиша |
DOWNDOWN | Клавиша перемещения курсора вниз |
ENDEND | <End> |
F1F1-F12 | <F1> |
F2 | <F2> |
F3 | <F3> |
F4 | <F4> |
F5 | <F5> |
F6 | <F6> |
F7 | <F7> |
F8 | <F8> |
F9 | <F9> |
F10 | <F10> |
F11 | <F11> |
F12 | <F12> |
HOMEHOME | <Home> |
LEFTLEFT | Клавиша перемещения курсора влево |
PGDNPGDN | <Page Down> |
PGUPPGUP | <Page Up> |
RIGHTRIGHT | Клавиша перемещения курсора вправо |
UPUP | Клавиша перемещения курсора вниз |
Значение маски | Описание |
ALT_MASKALT_MASK | Была нажата клавиша <Alt> |
META_MASKMETA_MASK | Была нажата мета-клавиша (клавиша для ввода диактрических символов) |
CTRL_MASKCTRL_MASK | Была нажата клавиша <Ctrl> |
SHIFT_MASKSHIFT_MASK | Была нажата клавиша <Shift> |
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий