14

ボタン要素にハンドラーを追加したいので、次のように実装しました。このコードのエラーを解決するのを手伝ってください。ボタンウィジェットにハンドラーを直接追加したくありません。

        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);
4

1 に答える 1

22

あなたのコードは正しいです。シンク イベントの後にウィジェットを追加した可能性があります。シンク イベントの前にウィジェットを追加する必要があります。ちょうど例:

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");
             }

        }
    });
于 2013-05-14T12:04:31.610 に答える