事件 – 处理GWT中的DOM元素

我想在buttonelement添加处理程序,我已经实现了如下.请帮我解决这段代码中的错误.我不想直接在按钮小部件上添加处理程序.
Button button = new Button("Click");
        Element buttonElement = button.getElement();

        Event.setEventListener(buttonElement,new EventListener() {

            @Override
            public void onbrowserEvent(Event event) {

                String string = event.getType();

                if(string.equalsIgnoreCase("click")) {
                    System.out.println("CLICK");
                }
            }
        });

        Event.sinkEvents(buttonElement,Event.ONCLICK);

解决方法

你的代码是正确的,你可能会在接收器事件后添加小部件.你必须在sink事件之前添加小部件.只是例子:
Button  button=new Button("Click");
    Element buttonElement = button.getElement();
      RootPanel.get().add(button);
    Event.sinkEvents(buttonElement,Event.ONCLICK);
    Event.setEventListener(buttonElement,new EventListener() {

        @Override
        public void onbrowserEvent(Event event) {
            System.out.println("ok");
             if(Event.ONCLICK == event.getTypeInt()) {
                 Window.alert("ok");
                  System.out.println("CLICK");
             }

        }
    });

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些