Отслеживание движений мыши по странице с помощью GWT - PullRequest
5 голосов
/ 13 ноября 2009

В приложении GWT я хотел бы отслеживать и отображать координаты мыши X, Y и перехватывать клики по всей странице браузера. Страница содержит множество виджетов GWT, таких как панели, кнопки и т. Д. Любой совет будет признателен.

Спасибо. Daniel

Ответы [ 2 ]

6 голосов
/ 15 ноября 2009

Мне пришлось использовать их пару раз в последнее время по разным причинам. Это очень простой пример того, как использовать встроенный обработчик предварительного просмотра 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
    }
  }
});
2 голосов
/ 13 ноября 2009

Посмотрите на: http://google -web-toolkit.googlecode.com / СВН / Javadoc / 1,6 / ком / Google / GWT / пользователь / клиент / Event.html # addNativePreviewHandler (com.google.gwt.user.client.Event.NativePreviewHandler )

Убедитесь, что вы установили NativePreviewHandler, а также что у вас зарегистрирован MouseMouseHandler на RootPanel или другом виджете, закрывающем окно браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...