UIBinder и использование распространения событий - PullRequest
1 голос
/ 21 декабря 2010

До UIBinder в gwt я обернул элементы в HTMPanel, который в основном обрабатывал все события для своих дочерних элементов.Поэтому вместо того, чтобы прикреплять EventListener к нескольким виджетам, я просто прикрепил его к родительскому контейнеру и использовал всплывающее окно событий.Могу ли я сделать это в UIBinder?Я знаю, что в классе поддержки для yourclass.ui.xml вы можете использовать UiHandler для обработки делегирования событий, но оптимально ли это?Я все еще добавляю несколько слушателей или GWT делает что-то за кулисами и подключает только 1 обработчик событий.

1 Ответ

3 голосов
/ 22 декабря 2010

Вы можете добавить HTMLPanel и прикрепить к нему обработчики, используя UiBinder:

<g:HTMLPanel ui:field="myHtmlPanel">
  <h1>A Header</h1>
  <p>A Paragraph</p>
</g:HTMLPanel>

А потом, на ваш взгляд:

@UiField HTMLPanel myHtmlPanel;

...

@UiHandler("myHtmlPanel")
public void onClick(ClickEvent event) {
  // Handle the event.
}
...