Ответ
Listeners (Слушатели) — это объекты, реализующие паттерн «Наблюдатель» (Observer) для обработки событий. Они «подписываются» на источник событий и вызываются при их наступлении.
Основные применения:
- GUI (Swing/JavaFX): Обработка действий пользователя (
ActionListener,MouseListener). - Веб-приложения (Servlet API): Отслеживание жизненного цикла контекста и сессий (
ServletContextListener,HttpSessionListener). - Spring Framework: Реакция на события контекста приложения (
ApplicationListener<ContextRefreshedEvent>).
Пример ActionListener в Swing:
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Кнопка нажата!");
}
});
Ключевые преимущества:
- Разделение ответственности: Код, генерирующий событие, не зависит от кода его обработки.
- Гибкость: Несколько слушателей могут реагировать на одно событие; их можно динамически добавлять и удалять.
- Стандартизация: Единый подход к обработке событий в разных областях (UI, web, framework).