Microsoft Visual J++. Создание приложений и аплетов на языке Java


Как обрабатываются события


Когда возникает событие, управление получает метод handleEvent из класса Component. Класс Applet является дочерним по отношению к классу Component.

Прототип метода handleEvent мы привели ниже:

public boolean handleEvent(Event evt);

В качестве параметра методу handleEvent передается объект класса Event, который содержит всю информацию о событии. По содержимому полей класса Event вы можете определить координаты курсора мыши в момент, когда пользователь нажал клавишу, отличить одинарный щелчок от двойного и так далее.

Ниже мы привели список полей класса Event, которые вы можете проанализировать:

Поле

Описание

public Object arg;

Произвольный аргумент события, значение которого зависит от типа события

public int clickCount;  

Это поле имеет значение только для события с типом MOUSE_DOWN и содержит количество нажатий на клавишу мыши. Если пользователь сделал двойной щелчок мышью, в это поле будет записано значение 2

public Event evt;

Следующее событие в связанном списке

public int id;

Тип события. Ниже мы перечислим возможные значения для этого поля

public int key;

Код нажатой клавиши (только для события, созданного при выполнении пользователем операции с клавиатурой)

public int modifiers;

Состояние клавиш модификации <Alt>, <Ctrl>, <Shift>

public Object target;

Компонент, в котором произошло событие

public long when;

Время, когда произошло событие

public int x;

Координата по оси X

public int y;

Координата по оси Y

Поле id (тип события) может содержать следующие значения:

Значение

Тип события

ACTION_EVENT

Пользователь хочет, чтобы произошло некоторое событие

GOT_FOCUS

Компонент (в нашем случае окно аплета) получил фокус ввода. О фокусе ввода вы узнаете из раздела, посвященного работе с клавиатурой

KEY_ACTION         

Пользователь нажал клавишу типа “Action”

KEY_ACTION_RELEASE

Пользователь отпустил клавишу типа “Action”

KEY_PRESS

Пользователь нажал обычную клавишу

KEY_RELEASE

Пользователь отпустил обычную клавишу

LIST_DESELECT

Отмена выделения элемента в списке

LIST_SELECT

Выделение элемента в списке

LOAD_FILE

Загрузка файла

LOST_FOCUS

Компонент потерял фокус ввода

MOUSE_DOWN

Пользователь нажал клавишу мыши

MOUSE_DRAG

Пользователь нажал клавишу мыши и начал выполнять перемещение курсора мыши

MOUSE_ENTER

Курсор мыши вошел в область окна аплета

MOUSE_EXIT

Курсор мыши покинул область окна аплета

MOUSE_MOVE

Пользователь начал выполнять перемещение курсора мыши, не нажимая клавишу мыши

MOUSE_UP

Пользователь отпустил клавишу мыши

SAVE_FILE

Сохранение файла

SCROLL_ABSOLUTE

Пользователь переместил движок полосы просмотра в новую позицию

SCROLL_LINE_DOWN

Пользователь выполнил над полосой просмотра операцию сдвига на одну строку вниз

SCROLL_LINE_UP

Пользователь выполнил над полосой просмотра операцию сдвига на одну строку вверх

SCROLL_PAGE_DOWN

Пользователь выполнил над полосой просмотра операцию сдвига на одну страницу вниз

SCROLL_PAGE_UP

Пользователь выполнил над полосой просмотра операцию сдвига на одну страницувверх

WINDOW_DEICONIFY

Пользователь запросил операцию восстановления нормального размера окна после его минимизации

WINDOW_DESTROY

Пользователь собирается удалить окно

WINDOW_EXPOSE

Окно будет отображено

WINDOW_ICONIFY

Окно будет минимизировано

WINDOW_MOVED

Окно будет перемещено

<


Начало  Назад  Вперед



Книжный магазин