java - 将点击处理程序添加到 GWT 中的 Horizo​​ntalPanel

标签 java events gwt onclick

如何将点击处理程序添加到 Horizo​​ntalPanel

在较新的 GWT 版本中使用 addDomHandler() 可以正常工作,但我不得不降级到不支持的 GWT 2.0.4。我以前是这样做的:

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

最佳答案

使用 FocusPanels 而不是 Hook native 事件。要捕获整个面板的点击:

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.

或者捕捉 Horizo​​ntalPanel 单元格内的点击:

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

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

clickBox.addClickHandler(...);

关于java - 将点击处理程序添加到 GWT 中的 Horizo​​ntalPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4942140/

相关文章:

java - 从 Infinite Stream 派生的排序流无法迭代

java - acegi 安全 - targetURL 保持 "#xxx"

来自父类的Angular2 EventEmitter

events - Python 事件与 tkinter 绑定(bind)

java - 在不知道 key 的情况下从 json 文件填充数组

java - 通过 Mongoose (Node JS) 在 Mongodb 中插入没有 JSON 模式的 JSON 对象

java - 其他布局中的项目不响应用户事件

gwt - 无法使 GWT 应用程序作为 Chrome 打包应用程序工作,可能是由于 CSP

gwt - Google GWT 跨浏览器支持 : is it BS?

GWT-Jackson-APT 在用于编码字符串的 $wnd.window JSON Web Worker 代码上失败