Опубликован: 01.11.2004 | Уровень: для всех | Доступ: свободно | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 26:

Библиотека классов JDK. Основы построения интерфейса пользователя на языке Java. События

< Лекция 25 || Лекция 26: 1234 || Лекция 27 >

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

Событие действия - это семантическое событие, зависящее от типа компонента. Так, для командной кнопки событием действия будет щелчок мышью или нажатие клавиши 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 - метод возвращает объект, для которого было инициировано событие.
< Лекция 25 || Лекция 26: 1234 || Лекция 27 >
Александр Демьяненко
Александр Демьяненко

Можно ли сдавать один и тот же тест несколько раз?
Или же один и тот же тест можно сдать лишь однажды?

Максим Стогний
Максим Стогний

Добрый день!

Скажите, пожалуйста, если в терминологии объектно-ориентированного программирования функции также называются методами или методами - членами класса, в примере объявления указателя на метод использовали в формальном описании оба названия:

тип_метода (имя_класса::*имя_метода_указателя)
    (список параметров);
тип_функции (*имя_ функции_указателя)
    (список параметров);

при этом можно было  тип_функции во втором описании заменить на тип_метода? Т.е.:

тип_метода (*имя_ метода_указателя)
    (список параметров);