Иллюстрированный самоучитель по Java

Обработка событий

  • Обработка событий

    В двух предыдущих главах мы написали много программ, создающих интерфейсы, но, собственно, интерфейса, т. е. взаимодействия с пользователем, эти программы не обеспечивают. Можно щелкать по кнопке на экране, она будет "вдавливаться" в плоскость экрана, но больше ничего не будет происходить.
  • Событие ActionEvent

    Это простое событие означает, что надо выполнить какое-то действие. При этом неважно, что вызвало событие: щелчок мыши, нажатие клавиши или что-то другое. | В классе ActionEvent есть два полезных метода:
  • Обработка действий мыши

    Событие MouseEvent возникает в компоненте по любой из семи причин: | нажатие кнопки мыши – идентификатор MOUSE_PRESSED; | отпускание кнопки мыши – идентификатор MOUSE_RELEASED; | щелчок кнопкой мыши – идентификатор MOUSE_CLICKED (нажатие и отпускание не различаются);
  • Классы-адаптеры

    Классы-адаптеры представляют собой пустую реализацию интерфейсов-слушателей, имеющих более одного метода. Их имена составляются из имени события и слова Adapter. Например, для действий с мышью есть два класса-адаптера.
  • Обработка действий клавиатуры. Событие TextEvent.

    Событие KeyEvent происходит в компоненте по любой из трех причин: | нажата клавиша – идентификатор KEY_PRESSED; | отпущена клавиша – идентификатор KEY_RELEASED; | введен символ – идентификатор KEYJTYPED.
  • Обработка действий с окном

    Событие windowEvent может произойти по семи причинам: | окно открылось – идентификатор WINDOW_OPENED; | окно закрылось – идентификатор WINDOW_CLOSED; | попытка закрытия окна – идентификатор WINDOW_CLOSING; | окно получило фокус – идентификатор WINDOW_ACTIVATED;
  • Событие ComponentEvent. Событие ContainerEvent.

    Данное событие происходит в компоненте по четырем причинам: | компонент перемещается – идентификатор COMPONENT_MOVED; | компонент меняет размер – идентификатор COMPONENT_RESIZED; | компонент убран с экрана – идентификатор COMPONENT_HIDDEN;
  • Событие FocusEvent. Событие ItemEvent.

    Событие возникает в компоненте, когда он получает фокус ввода – идентификатор FOCUS_GAINED, или теряет фокус – идентификатор FOCUS_LOST. | Соответствующий интерфейс: | public interface FocusListener extends EventListener{ | public void focusGainedtFocusEvent e); | public void focusLost(FocusEvent e);
  • Событие AdjustmentEvent

    Это событие возникает для полосы прокрутки Scrollbar при всяком изменении ее бегунка и отмечается идентификатором ADJUSTMENT_VALUE_CHANGED. | Соответствующий интерфейс описывает один метод: | public interface AdjustmentListener extends EventListener{ | public void adjustmentValueChanged(AdjustmentEvent e);
  • Несколько слушателей одного источника

    В начале этой главы, в листингах 12.1-12.3, мы привели пример класса TextMove, слушающего сразу два компонента: поле ввода tf типа TextFieid и кнопку b типа Button. | Чаще встречается обратная ситуация – несколько слушателей следят за одним компонентом.
  • Диспетчеризация событий

    Если вам понадобится обработать просто действие мыши, не важно, нажатие это, перемещение или еще что-нибудь, то придется включать эту обработку во все семь методов двух классов-слушателей событий мыши. | Эту работу можно облегчить, выполнив обработку не в слушателе, а на более ранней стадии.
  • Создание собственного события

    Вы можете создать собственное событие и определить источник и условия его возникновения. | В листинге 12.6 приведен пример создания события MyEvent, любезно предоставленный Вячеславом Педаком. | Событие MyEvent говорит о начале работы программы (START) и окончании ее работы (STOP).
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.