Введение в программирование

       

События действия


Событие действия - это семантические событие, зависящее от типа компонента. Так, для командной кнопки событием действия будет щелчок мышью или нажатие клавиши Enter в момент, когда кнопка имеет фокус. Для компонентов типа "список" событием действия является выбор элемента, для компонентов "меню" - выбор пункта меню, а для компонентов "текстовое поле" - нажатие клавиши Enter.

События действия определяются в интерфейсе ActionListener. Этот интерфейс задает единственный метод обработки события actionPerformed, вызываемый при возникновении для компонента сооответствующего его типу события действия.

Для того чтобы обрабатывать событие действия, можно выполнить следующее:

  1. Создать класс, наследующий интерфейс ActionListener. Например:

    public class MyFrame extends Frame implements ActionListener { }.

  2. Зарегистрировать блок прослушивания события действия для компонента. Например:

    myButton.addActionListener(this).

  3. Переопределить метод actionPerformed: Например:

    public void actionPerformed(ActionEvent e) { Toolkit.getDefaultToolkit().beep(); }.

Метод обработки события действия получает параметр типа ActionEvent.

Класс ActionEvent определен в иерархии классов Java следующим образом:


Класс ActionEvent определяет и наследует несколько полезных методов, включая следующие:

  • GetActionCommand - метод возвращает строку, ассоциируемую с данным событием действия. Если для объекта был ранее вызван метод setActionCommand, устанавливающий такую строку, то эта строка и будет возвращена. В противном случае, возвращаемое значение зависит от типа компонента/
  • GetModifiers - возвращает число, определяющее, была ли нажата клавиша-модификатор при возникновении события действия. Для определения кода нажатой клавиши-модификатора можно использовать константы SHIFT_MASK, CTRL_MASK и ALT_MASK.Например, если при возникновении события действия была нажата клавиша Shift, то следующее выражение не будет равно нулю:

    actionEvent.getModifiers() & ActionEvent. SHIFT_MASK.

  • getSource - метод возвращает объект, для которого было инициировано событие.


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