Обрезка изображения GWT против проблемы drag'n'drop в браузере - PullRequest
2 голосов
/ 20 апреля 2011

Используя GWT, я отображаю изображение на веб-странице, и моя цель - позволить пользователю обрезать его. Пользователь рисует воображаемую границу, щелкая определенную часть изображения, перемещая мышь и выпуская ее в другом месте. С использованием MouseDownHandler() и MouseUpHandler() я планирую записать начальный и конечный углы курсора мыши.

Однако при развертывании моей работы в Интернете возникает следующая проблема: когда пользователь нажимает на изображение и пытается нарисовать воображаемую ограничивающую рамку, веб-браузер (в моем случае Google Chrome) обнаруживает его как перетаскивание. и сбросить операцию.

Поэтому я не могу заставить работать мои функции mouseDown() и mouseUp(). Как мне избежать, чтобы браузер выполнял операцию перетаскивания?

код:

public void onModuleLoad(){
    RootPanel.get().add(img1);

    img1.addMouseDownHandler(new MouseDownHandler() {
          @Override
          public void onMouseDown(MouseDownEvent event) {
              startX = event.getX();
              startY = event.getY();
          }
    });

    img1.addMouseUpHandler(new MouseUpHandler() {
          @Override
          public void onMouseUp(MouseUpEvent event) {
              endX = event.getX();
              endY = event.getY();
              img1.setVisibleRect(startX, startY, endX-startX, endY-startY);
          }
    });
}

1 Ответ

0 голосов
/ 21 апреля 2011

Может быть, вы можете использовать HTML5. Я нашел этот более ранний вопрос здесь на Stack OverFlow, который описывает ту же проблему, что и у вас. Также я нашел пример кода на code.google.com Надеюсь, это приведет вас к решению.

...