Смекни!
smekni.com

Программирование графики и обработка событий (стр. 4 из 4)


Интерфейс Переопределяемые методы Описание
ActionListener actionPerformed(ActionEvent e) произведено некоторое действие
AdjustmentListener adjustementValueChanged (AdjustmentEvent) изменилось значение в линии прокрутки
ComponentListener componentResized (ComponentEvent e) компонент изменил размер
componentMoved(ComponentEvent e) компонент изменил расположение
componentShown (ComponentEvent e) компонент отображен
componentHidden (ComponentEvent e) компонент спрятан
ContainerListener componentAdded (ContainerEvent e) компонент добавленв контейнер
componentRemoved (ContainerEvent e) компонент убран из контейнера
FocusListener focusGained(FocusEvent e) компонент получил фокус ввода
focusLost (FocusEvent e) компонент потерял фокус ввода
ItemListener ItemStateChaged (ItemEvent e) изменился выделенный пункт выбора
KeyListener keyTyped(KeyEvent e) напечатан символ
keyPressed(KeyEvent e) нажата клавиша
keyReleased(KeyEvent e) нажатая клавиша отпущена
MouseListener mouseClicked(MouseEvent e) нажата и отпущена кнопка мыши
mousePressed(MouseEvent e) нажата кнопка мыши
mouseReleased(MouseEvent e) отпущена нажатая кнопка мыши
mouseEntered(MouseEvent e) указатель мыши вошел в область компонента
mouseExited(MouseEvent e) указатель мыши вышел из области компонента
MouseMotionListener mouseDragged(MouseEvent e) перемещен указатель мыши при нажатой кнопке мыши
mouseMoved(MouseEvent e) перемещен указатель мыши при не нажатой кнопке мыши
TextListener textValueChanged(TextEvent e) текстовое значение изменилось
WindowListener windowOpened(WindowEvent e) окно открыто
windowClosing(WindowEvent e) окно закрывается
windowClosed(WindowEvent e) окно закрыто
windowIconified(WindowEvent e) окно минимизировано
windowDeiconified(WindowEvent e) окно восстановило размеры после минимизации
windowActivated(WindowEvent e) окно активировано (является окном ввода информации)
windowDeactivated(WindowEvent e) окно перестало быть активным окном

Некоторым интерфейсам событий соответствуют открытые абстрактные классы-адаптеры, содержащие пустые методы для обработки событий:


Интерфейс Класс
ComponentListener ComponentAdapter
ContainerListener ContainerAdapter
FocusListener FocusAdapter
KeyListener KeyAdapter
MouseListener MouseAdapter
MouseMotionListener MouseMotionAdapter
MouseInputListener MouseInputAdapter
WindowListener WindowAdapted

К действиям относятся события, поступающие от компонентов:

Компонент Генерируемое событие
Button нажатие на кнопку мыши
MenuItem нажатие на кнопку мыши
List нажатие на кнопку мыши
нажатие на клавишу возврата каретки
TextField нажатие на клавишу возврата каретки

Управляющие компоненты регистрируют “прослушивание” событий при помощи методов вида:

void addТипКомпонентаListener(объектРеализующийПрослушивание)

и освобождаются от “прослушивания” событий при помощи соответствующих методов вида:

void removeТипКомпонентаListener(объектРеализующийПрослушивание)



Класс
Метод для добавления “слушателя” события
Componenet addComponentListener(ComponenetListener l)addFocusListener(FocusListener l)addKeyListener(KeyListener)addMouseListener(MouseListener l)addMouseMotionListener(MouseMotionListener l)
Container addContainerListener(ContainerListener l)
Button addActionListener(ActionListener l)
Checkbox addItemListener(ItemListener l)
CheckboxMenuItem addItemListener(ItemListener l)
Choice addItemListener(ItemListener l)
List addItemListener(ItemListener l)addActionListener(ActionListener l)
MenuItem addActionListener(ActionListener l)
Scrollbar addAdjustnmentListener(AdjustmentListener l)
TextComponent addTextListener(TextListener l)
TextArea addActionListener(ActionListener l)
Window addWindowListener(WindowListener l)

Приведем пример приложения, обрабатывающего событие ActionEvent

Пример работы с событием действия (ActionEvent)

import java.awt.*;

import java.awt.event.*;

public class FrameActionEvent extends Frame implements ActionListener{

Labell = newLabel();// Создадим метку для вывода сообщения

Buttonb = newButton("OK");// Создадим кнопку, генерирующую сообщение

publicvoidFrameActionEvent()

{

setLayout(null);// Установим абсолютное размещение компонентов

setBackground(Color.lightGray);// Установим светло-серый фон

// Установим границы управляющих компонентов

l.setBounds(20, 10, 40, 20); // метки

b.setBounds(20, 40, 40, 20); // кнопки

// Зарегистрируем для кнопки “прослушивание” событий

b.addActionListener(this);

// Добавим в окно

add(l); // метку

add(b); // кнопку

}

// Реализуем обработку события действия

public void actionPerformed(ActionEvent e)

{

l.setText("I'mOK!");

}

}