使用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 
    } 
    } 
}); 

看看: http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/user/client/Event.html#addNativePreviewHandler(com.google.gwt.user.client.Event.NativePreviewHandler)

确保您安装NativePreviewHandler,也确保你对RootPanel或覆盖浏览器窗口小部件的另一个注册的MouseMouseHandler。