使用GWT在页面上跟踪鼠标移动
问题描述:
在GWT应用程序中,我想跟踪并显示X,Y鼠标坐标并截取整个浏览器页面上的点击。该页面包含许多GWT小部件,如面板,按钮等...任何意见,将不胜感激。使用GWT在页面上跟踪鼠标移动
谢谢。 丹尼尔
答
由于各种原因,最近我不得不使用这几次。这是如何使用GWT本机预览处理程序的一个非常基本的例子。
我有一点警告,但要注意:onPreviewNativeEvent()将被执行....经常。如果你在这里放置任何昂贵的计算逻辑,它会减慢一切,特别是在IE和/或在较旧的计算机上。根据您的需求,这可能不是问题,但值得一提。
Event.addNativePreviewHandler(new NativePreviewHandler() {
public void onPreviewNativeEvent(final NativePreviewEvent event) {
final int eventType = event.getTypeInt();
switch (eventType) {
case Event.ONMOUSEMOVE:
//mouse tracking logic?
break;
case Event.ONCLICK:
final int eventX = event.getNativeEvent().getClientX();
final int eventY = event.getNativeEvent().getClientY();
Window.alert("Clicked @ " + eventX + "," + eventY);
break;
default:
// not interested in other events
}
}
});
答
确保您安装NativePreviewHandler,也确保你对RootPanel或覆盖浏览器窗口小部件的另一个注册的MouseMouseHandler。