
Лекции Java / 07. Компонентная модель в объектно-ориентированном программировании. Технология JavaBeans. Вложенные типы.pptx
.pdf
Работа с графическим бином
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
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 |