Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_java_2_semtcnh.doc
Скачиваний:
2
Добавлен:
22.09.2019
Размер:
425.98 Кб
Скачать

Интерфейсы-слушатели и классы-адаптеры

Программист должен указать(зарегистрировать), какие объекты являются слушателями для всех объектов, которые могут запускать события addXxxListener(XxxEvent event), где Ххх — имя события.

У объекта-слушателя есть методы, которые обрабатывают посылаемое событие – обработчики событий (Event event) –например событие типа ActionEvent обрабатывается методом actionPerformed().

Базовые классы, на которых основана событийная модель, находятся в пакетах java.util java.awt java.awt.event

Слушателем может быть объект любого класса, удовлетворяющего определенному интерфейсу — интерфейсу-слушателю.

Все интерфейсы-слушатели порождены от базового интерфейса EventListener

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

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

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

Заранее определенные классы-адаптеры называются так же, как и интерфейсы, которые они реализуют но в этих названиях Listener заменяется на Adapter: MouseAdapter,

Адаптер-это класс, соответствующего классу слушателю, который реализует интерфейс, в котором все методы определены, но ничего не делают.

Объекты — источники событий должны быть объектами класса, который имеет методы для регистрации слушателя addXXXListener и отключения слушателя removeXXXListener .

Каждый конкретный класс — источник событий позволяет подключать к объекту-источнику только слушателей определенных типов, для которых в классе есть методы подключения addXXXListener

Работа модели событий основана на том, что при наступлении какого-либо события объект-источник вызывает определенные методы интерфейса XXXListener для всех зарегистрированных объектов-слушателей

Т.о., компонент-источник, в котором произошло событие, не занимается его обработкой.

Он обращается к экземпляру класса-слушателя, умеющего обрабатывать события, делегирует (delegate) ему полномочия по обработке

Такая схема получила название схемы делегирования (delegation).

Она удобна тем, что мы можем легко сменить класс-обработчик и обработать событие по-другому или назначить несколько обработчиков одного и того же события.

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

Архитектура mvc (Model/View/Controller).*

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

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

Использование проверенных и качественных компонентов ускоряет и упрощает разработку даже самого сложного приложения.

Компонент можно определить как завершенный фрагмент кода(черный ящик), представляющий некоторые услуги программисту и написанный в соответствии с некоторыми правилами, позволяющими определить свойства компонента. В ООП компоненты – классы и объекты.

При компонентном программировании используется архитектура Model/View/Controller (MVC)модель-вид-контроллер

1.модель хранит данные компонента и позволяет легко, не обращаясь к самому компоненту, изменять или получить эти данные

2.вид выводит данные на экран для представления их пользователю

3.контроллер определяет, как должны реагировать вид и данные модели в ответ на действия пользователя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]