質問

GWT 1.7のウィジェットにイベントリスナーまたはハンドラーを追加する方法

SOについてはこれについていくつかの質問がありますが、それらは時代遅れのようです。 たとえば(CSSに:hoverがあるという事実を無視して)、たとえばFlexTableにHoverリスナーを追加するにはどうすればよいですか?

役に立ちましたか?

解決

FlexTableにMouseOverHandlerを追加する場合は、これを試してください:

public class MyFlexTable extends FlexTable implements MouseOverHandler, HasMouseOverHandler {
    public MyFlexTable() {
        this.addMouseOverHandler(this);
    }

    public void onMouseOver(MouseOverEvent event) {
        //do something
    }
    public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
        return addDomHandler(handler, MouseOverEvent.getType());
    }
}

他のヒント

GWT 1.6以降では、リスナーの代わりにハンドラーを使用します。したがって、たとえば、ホバリングのために、MouseOverHandlerとMouseOutHandlerを追加します。 FlexTable自体はこれらのインターフェイスを実装しないため、FlexTableに含まれるウィジェットに実装することをお勧めします。たとえば、

myWidget.addMouseOverHandler(new MouseOverHandler(){
   void onMouseOver(MouseOverEvent event){
       doHovering();
    }
});

同様に、MouseOutHandlerを追加します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top