这可能是一个愚蠢的问题,但是GWT FlowPanel (原始div元素)并没有提供一些东西来处理鼠标点击/鼠标移动。覆盖onBrowserEvent也不起作用。
如果使用本机onclick设置JavaScript事件(需要在此之前指定正高度,如果未指定,'div‘的高度为0 ),则捕获这些事件正常工作。有没有一种不使用JSNI的方法?
发布于 2010-06-08 20:39:16
您需要在这里做的是将您的FlowPanel包装在FocusPanel中。FocusPanel包含所有可能处理程序,因此您可以为其设置一个ClickHandler。
另一种方法是创建您自己的小部件,扩展流面板并实现必要的接口,以便能够包含ClickHandler。
我个人推荐第一种方法。它更简单,更快的编码,并且不会减慢你的应用程序。
发布于 2011-02-01 07:21:53
实际上,你可以这样做:
FlowPanel fPanel = new FlowPanel() {
@Override
public void onAttach() {
super.onAttach();
super.addDomHandler(handler, ClickEvent.getType()); // handler is the instance
// of your ClickHandler
}
}干杯!
发布于 2011-03-07 08:38:08
这对我很有效(显然,用你的点击处理器的名字替换"YOUR CLICKHANDLER“):
FlowPanel field = new FlowPanel();
field.addDomHandler(YOUR CLICKHANDLER, ClickEvent.getType());https://stackoverflow.com/questions/2996344
复制相似问题