GWT 1.7のFlexTableのマウスオーバーリスナー?
-
05-07-2019 - |
質問
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を追加します。
所属していません StackOverflow