java - 拖放 gwt

标签 java gwt drag-and-drop

当我将该小部件拖放到面板之外时,我试图从面板中删除该小部件。 我查找了这些教程和示例 http://code.google.com/p/gwt-dnd/wiki/GettingStarted 但我不知道如何设置放置 Controller 以将其放置在面板之外。

您能给个提示或想法吗?

最佳答案

如果您将 PickupDragController 实例化为

PickupDragController controller =
    new PickupDragController(pickupContainer, false);

并且您将小部件放在拾取容器之外,然后会自动抛出 VetoDragException (由于构造函数中的 false )。如果有兴趣,请参阅 JavaDoc 甚至 BoundaryDropController 中的代码。

然后您可以注册一个 DragHandler 并在其 onDragEnd 中检查是否发生异常。如果是这样,请删除该小部件。像这样的东西:

class MyHandler implements DragHandler {
  // onPreviewDragStart, onDragStart, onPreviewDragEnd omitted.
  public void onDragEnd(DragEndEvent event) {
    if (event.getContext().vetoException != null) {
      // Not sure it works, but you get the idea.
      event.getContext().draggable.removeFromParent();
    }
  }
}

controller.addDragHandler(new MyHandler());

关于java - 拖放 gwt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490966/

相关文章:

java - BufferedOutputStream 多行写入文件

java - Spring 通用 REST Controller : parsing request body

java - GWT 开发模式不工作(配置 web.xml)

java - GWT:计时器导致运行时警告

javascript - 沿对 Angular 线拖放?

启动tomcat加载servlet时出现java.lang.ClassCastException

java - 集合投影和嵌套投影

gwt - 检查 GWT 中的 KeyUpEvent 是否为空格

cocoa - 接受 Dock 图标上的卷滴

mysql - jsp, 拖放, mysql, treeview