Графические интерфейсы пользователя Java. Тимур Машнин
Чтение книги онлайн.

Читать онлайн книгу Графические интерфейсы пользователя Java - Тимур Машнин страница 9

СКАЧАТЬ действия.

      В некотором роде метод actionPerformed очень похож на метод action старой модели событий, за исключением того, что он не привязан к иерархии Component, а он является частью интерфейса, который может быть реализован любым объектом, который заинтересован в получении событий.

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

      Некоторые интерфейсы слушателей предназначены для работы с несколькими типами событий.

      Например, интерфейс MouseListener объявляет пять методов обработки различных типов событий мыши: мышь вниз, мышь вверх, щелчок, вход мыши в компонент и выход мыши.

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

      Это звучит как создание излишнего кода; большую часть времени вас интересует только одно или два из этих событий.

      К счастью, вам этого делать не нужно.

      Вы можете использовать класс адаптера, который обеспечивает нулевую реализацию всех методов интерфейса.

      И если вы хотите написать класс обработки событий, который имеет дело только с щелчками мыши, вы можете объявить, что ваш класс расширяет MouseAdapter.

      И ваша единственная задача программирования состоит в том, чтобы переопределить единственный метод, который вам нужен – это mouseClicked.

      Таким образом, резюмируя.

      Компоненты генерируют AWTEvents, когда что-то происходит.

      Различные подклассы AWTEvent представляют различные типы событий.

      Например, события мыши представлены классом MouseEvent.

      И каждый компонент может генерировать определенные подклассы класса AWTEvent.

      Обработчики событий регистрируются для приема событий с помощью метода «add listener» в компоненте, который генерирует событие.

      Существуют различные методы «add listener» для каждого вида событий AWTEvent, которые может генерировать компонент.

      Например, чтобы заявить о своем интересе к событию мыши, вы вызываете метод addMouseListener компонента.

      Каждый тип события имеет соответствующий интерфейс прослушивателя, который определяет методы, вызываемые при возникновении этого события.

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

      Например, MouseListener определяет методы, вызываемые при возникновении событий мыши.

      Большинство типов событий также имеют класс адаптера.

      Например, события MouseEvent имеют класс MouseAdapter.

      Класс адаптера реализует соответствующий интерфейс прослушивателя, но обеспечивает реализацию заглушки каждого метода, т. е. метод просто возвращает без каких-либо действий.

      Классы адаптеров используются, когда нужны только некоторые из методов в интерфейсе слушателя.

СКАЧАТЬ