Widget.addHandler () на кнопке GWT работает неправильно

Я пытаюсь использовать метод addHandler на кнопке. Ниже приведен мой код:

private void attachClickHandler(Widget widget) {
    ClickHandler clickHandler1;
    ClickHandler clickHandler2;

    clickHandler1 = new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            System.out.println("ClickHandler One");
        }

    };
    clickHandler2 = new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            System.out.println("ClickHandler Two");
        }

    };
    ((Button) widget).addClickHandler(clickHandler1);
    widget.addHandler(clickHandler2, ClickEvent.getType());
}

Если я добавлю оба обработчика, он отлично работает. Но если я попытаюсь добавить только clickHandler2 (с widget.addHandler (...), то обработчик не вызывается.

Не можете понять, почему?

Заранее спасибо.

3
nl ja de

2 ответы

Единственное, что нужно было для этого:

+ Изменить

widget.addHandler(clickHandler2, ClickEvent.getType());

в

widget.addDomHandler(clickHandler2, ClickEvent.getType());
7
добавлено

Просто добавьте

widget.sinkEvents(Event.ONCLICK);

это регистрирует событие dom 'click', чтобы вызвать событие

0
добавлено