Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции Java / 07. Компонентная модель в объектно-ориентированном программировании. Технология JavaBeans. Вложенные типы.pptx

.pdf
Скачиваний:
153
Добавлен:
16.03.2015
Размер:
577.69 Кб
Скачать

Работа с графическим бином

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

31

Модель делегирования обработки событий

nСобытие – объект, описывающий изменение состояния источника

nИсточник – объект, генерирующий события

nСлушатель – объект, получающий уведомление о событии

nИсточник генерирует событие и посылает его одному или нескольким слушателям

nСлушатель просто ждет поступления события

nПолучив событие, слушатель обрабатывает его и затем возвращает управление

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

32

Модель делегирования обработки событий

nСлушатели должны зарегистрироваться у источника – события посылаются только зарегистрировавшимся слушателям

nЛогика кода, обрабатывающего события, отделена от логики интерфейса, генерирующего события

nЭто реализация паттерна проектирования

Observer

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

33

Слушатели и источники

nОдин источник может генерировать несколько типов событий

nОдин слушатель может быть слушателем нескольких видов событий

nОдин слушатель может получать события одного вида от нескольких источников

nСлушатель может быть источником для других слушателей и для самого себя

nИсточник может быть слушателем других источников и самого себя

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

34

События JavaBeans

nКласс слушателя должен наследовать от базового типа слушателя для вида событий EventListenerType

nЧтобы слушатель события мог быть зарегистрирован, компонент должен предоставлять метод

public void addEventListenerType(EventListenerType a)

nЧтобы слушатель события мог отказаться от регистрации, компонент должен предоставлять метод

public void removeEventListenerType(EventListenerType a)

nЕсли компонент позволяет регистрировать одновременно ограниченное количество обработчиков события, то метод добавления слушателя должен объявлять исключение java.util.TooManyListenersException

nРабота с событиями также может вестись на уровне средства разработки

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

35

Работа с событиями

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

36

Работа с событиями

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

37

Работа с событиями

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

38

Работа с событиями

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

39

Результат работы приложения

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

40