Java GWT1.7中FlexTable的鼠标悬停侦听器?

Java GWT1.7中FlexTable的鼠标悬停侦听器?,java,html,gwt,event-handling,Java,Html,Gwt,Event Handling,如何向GWT1.7中的小部件添加事件侦听器或处理程序 我知道在这方面有一些问题,但似乎已经过时了。 例如(忽略CSS中有一个:hover的事实)如何向FlexTable添加一个悬停侦听器?例如,从GWT1.6开始,您使用处理程序而不是侦听器。例如,对于悬停,可以添加MouseOverHandler和MouseOutHandler。FlexTable本身没有实现这些接口,因此您可能希望在FlexTable中包含的小部件上实现它。比如说, myWidget.addMouseOverHandler(n

如何向GWT1.7中的小部件添加事件侦听器或处理程序

我知道在这方面有一些问题,但似乎已经过时了。
例如(忽略CSS中有一个:hover的事实)如何向FlexTable添加一个悬停侦听器?例如,从GWT1.6开始,您使用处理程序而不是侦听器。例如,对于悬停,可以添加MouseOverHandler和MouseOutHandler。FlexTable本身没有实现这些接口,因此您可能希望在FlexTable中包含的小部件上实现它。比如说,

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

类似地,添加MouseOutHandler。

如果要将MouseOverHandler添加到FlexTable,请尝试以下操作:

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

你知道我如何在FlexTable上处理这个问题吗?我找到了这个链接,但我真的不明白它是如何工作的:这也说明了如何实现这一点。。但我似乎无法将事件转换为生成它的元素:(Label)event.getEventTarget()不起作用!至于在FlexTable上实现这一点,FlexTable不实现这些接口。在您链接到的示例中,他们将FlexTable扩展为表,然后将处理程序添加到表中。您可以使用其他实现HasMouseOverHandler的小部件包装FlexTable,例如FocusPanel。至于如何找到事件的目标,MouseOverEvent上没有getEventTarget方法。vent的目标当然是实现MouseOverHandler的小部件。