java - 如何将 @UiHandler 与自定义处理程序一起使用(传递构造函数参数)

标签 java gwt uibinder

通常,我们这样做:

@UiHandler("aLink")
void onClickALink(ClickEvent e) {
    // do something
}

但是,如果我想使用自己的 Handler 实现怎么办?

class MyClickHandler implements ClickHandler {
    int i;

    MyClickHandler(int i) {
        this.i = i;
    }

    @Override
    public void onClick(ClickEvent event) {
        // do something
    }
}

那么,如何将 MyClickHandler 与 @UiHandler 一起使用?即,将 i 传递给构造函数?

最佳答案

您还需要创建一个特定的点击事件:

class MyClickHandler implements ClickHandler {
    int i;

    MyClickHandler(int i) {
        this.i = i;
    }

    @Override
    public void onClick(MyClickEvent event) {  // MyClickEvent!
        // do something
    }
}

然后你可以这样做:

@UiHandler("aLink")
void onClickALink(MyClickEvent e) {
    // do something
}

确保在 MyClickEvent 中实现所有需要的方法,以便 GWT 可以理解它与 MyClickHandler 关联:请参阅 ClickEvent dispatch(), getAssociatedType() and getType()

有关示例,请参阅 CustomEventHandlerDemo.java 中实现.

Then, how do I use MyClickHandler with @UiHandler? i.e. pass i to the constructor?

你不知道。

关于java - 如何将 @UiHandler 与自定义处理程序一起使用(传递构造函数参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150402/

相关文章:

java - 将 AAR 与移动优先应用程序连接

java - 从数组列表中删除元素并更新 java 中的制表符大小

java - UiBinder 中的 gwt 按钮

java - 从命令提示符编译 java 源代码时出现找不到符号错误?

java - GXT 从树标签拖放到小部件

java - GWT 2.4 - 在 Web 服务器上部署

java - GWT 捕获 HttpServlet 抛出的异常

GWT UiBinder 和图像 Sprite

在 UIBinder 中具有子元素配置的 gwt 自定义小部件(如 CustomButton)

java - 扩展jooq的行值查询