Java GWT1.7中FlexTable的鼠标悬停侦听器?
如何向GWT1.7中的小部件添加事件侦听器或处理程序 我知道在这方面有一些问题,但似乎已经过时了。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
例如(忽略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的小部件。