Добавить обработчик кликов к горизонтальной панели в GWT - PullRequest
11 голосов
/ 09 февраля 2011

Как добавить обработчики кликов в HorizontalPanel?

Он работал с использованием addDomHandler() в более новых версиях GWT, но мне пришлось перейти на GWT 2.0.4, где это не поддерживается. Раньше я делал это так:

horizontalPanel.getWidget(1).addDomHandler(someClickHandler,ClickEvent.getType());
//or
horizontalPanel.addDomHandler(someClickHandler, ClickEvent.getType());

1 Ответ

33 голосов
/ 09 февраля 2011

Используйте FocusPanels вместо перехвата собственных событий.Чтобы перехватить клики по всей панели:

FocusPanel wrapper = new FocusPanel();
HorizontalPanel panel = new HorizontalPanel();
wrapper.add(panel);
wrapper.addClickHandler(new ClickHandler() {
  @Override
  public void onClick(ClickEvent event) {
    // Handle the click
  }
});

// Add wrapper to the parent widget that previously held panel.

Или перехватить клики внутри ячейки в горизонтальной панели:

IsWidget child; // Any widget
HorizontalPanel panel = new HorizontalPanel();
FocusPanel clickBox = new FocusPanel();

clickBox.add(child);
panel.add(clickBox);

clickBox.addClickHandler(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...