浏览器中的GWT图像裁剪与拖拽问题

时间:2011-04-20 14:37:44

标签: image gwt drag-and-drop crop

使用GWT,我在网页上显示图像,我的目标是允许用户裁剪它。用户通过单击图像的特定部分,移动鼠标并将其释放到其他位置来绘制虚构的边界框。使用MouseDownHandler()MouseUpHandler(),我打算记录鼠标光标的起点和终点。

然而,当我在网络上部署我的作品时,存在这样的问题:当用户点击图像并尝试绘制虚构的边界框时,网络浏览器(在我的情况下是谷歌浏览器)会将其检测为拖动和放弃操作。

因此,我无法使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 :(得分:0)

也许你可以使用HTML5。我在Stack OverFlow上找到了this之前的问题,它描述了你遇到的同样问题。我还在code.google.com上找到了code example 希望这会引导您找到解决方案。