13

Composite を拡張し、ClickHandler を実装する GWT でカスタム ウィジェットを作成しています。メソッド onClick は既に実装していますが、clickEvent が機能しません。clickEvent を機能させるには、クラスに追加でどのメソッドを実装する必要がありますか? HandlerRegistration でしょうか。どのように?

4

2 に答える 2

20

ウィジェットをクリック可能なGWTウィジェットのように動作させたい場合は、com.google.gwt.event.dom.client.HasClickHandlersインターフェースを使用する必要があります。

public class MyWidget extends Widget
implements HasClickHandlers
{
    public HandlerRegistration addClickHandler(
        ClickHandler handler)
    {
        return addDomHandler(handler, ClickEvent.getType());
    }
}
于 2012-04-11T03:41:19.570 に答える
4

試す

this.addClickHandler( myClckHandler ) ;

または利用できない場合

this.addDomHandler( myClckHandler , ClickEvent.getType()) ;

これはうまくいくはずです

編集==>これは機能するはずです:

public class Foo extends Composite {

private ClickHandler myClkHandler = new ClickHandler() {
    @Override
    public void onClick(ClickEvent event) {
        Window.alert("Overnuts is the best !") ;
    }
};

public Foo() {
    initWidget(this) ;
    this.addDomHandler( myClkHandler, ClickEvent.getType()) ;
   }
}
于 2012-04-10T13:52:45.207 に答える