События и слушатели в Vaadin из песочницы

В след за asolntsev я решил продолжить тему разработки приложений на Java c помощью фреймворка Vaadin. Vaadin предлагает управляемую событиями модель программирования для обработки взаимодействия с пользователем. Когда пользователь делает что-то в пользовательском интерфейсе, например, нажимает кнопку или выбирает пункт, приложение должно знать об этом.

Введение

Многие Java-ориентированные интерфейсы следуют Event-Listener(событие-слушатель) модели (также известной как шаблон проектирования Observer) для связи пользовательского ввода в логике приложения. Этой же модели следует и Vaadin. Шаблон дизайна включает в себя два вида элементов: объект, который порождает («выбрасывает») событие и слушателей, которые их прослушивают. Когда такое событие происходит, объект посылает уведомления об этом всем слушателям. Хотя основываясь на моей практике, могу сказать что достаточно и одного слушателя.

События и их обработка

У событий может быть много назначений. В Vaadin, обычные назначения событий — это обработка взаимодействия с пользователем в пользовательском интерфейсе. Для получения события определенного типа, приложение должно зарегистрировать слушателя объекта с его источником. Слушатели добавляются к компоненту при помощи метода AddListener (). Метод имеет общий вариант и определен на уровне AbstractComponent, базовый класс для всех компонентов.

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

В дальнейшем коде, мы обрабатываем нажатие кнопки:
button.addListener(new Button.ClickListener() {
  public void buttonClick(ClickEvent event) {
    button.setCaption(«You pushed it!»);
  }
});


* This source code was highlighted with Source Code Highlighter.


Классовая диаграмма иллюстрирует случай, когда специфичный для приложения класс наследует Button.ClickListener интерфейс, чтобы иметь возможность прослушивать события нажатия кнопки. Приложение должно объявить класс слушатель и зарегистрировать его с помощью метода AddListener (). Когда происходит событие, событие создает экземпляр объекта, в данном случае ClickEvent.

image

Обработка событий для других компонентов Vaadin (List для примера) производится в таком же алгоритме, как описано выше, но если возникнет необходимость, я продолжу писать о работе с пользовательским интерфейсом в Vaadin.
0
7 ноября 2011, 11:51
3
ilyastmn –0,5

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