Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 拖放gwt_Java_Gwt_Drag And Drop - Fatal编程技术网

Java 拖放gwt

Java 拖放gwt,java,gwt,drag-and-drop,Java,Gwt,Drag And Drop,当我将一个小部件放到面板外时,我正试图从面板中删除该小部件。 我查阅了这些教程和示例,但我不知道如何设置放置控制器,将其放置在面板外 您能给出一个提示或想法吗?在DropController(AbstractDropController)中,您必须在构造函数中定义一个元素,您可以在其中删除元素。 你有一些代码片段来帮助你具体化吗 PS:我已经用你提到的这个库建立了一些D&D,在我看来,它是有缺陷的,而且不太容易开始。但是我没有为GWT找到更好的本地D&D库,我们尝试包装jquery D&D。它非

当我将一个小部件放到面板外时,我正试图从面板中删除该小部件。 我查阅了这些教程和示例,但我不知道如何设置放置控制器,将其放置在面板外

您能给出一个提示或想法吗?

在DropController(AbstractDropController)中,您必须在构造函数中定义一个元素,您可以在其中删除元素。 你有一些代码片段来帮助你具体化吗


PS:我已经用你提到的这个库建立了一些D&D,在我看来,它是有缺陷的,而且不太容易开始。但是我没有为GWT找到更好的本地D&D库,我们尝试包装jquery D&D。它非常快速、平滑,但很难包装。

如果将
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());

你能分享一些你尝试过的细节吗?我知道,这就是我所做的。我已经创建了一个DropController扩展AbstractDragController。您建议在构造函数中定义什么元素?我想把小部件放在面板外的任何地方。非常感谢您的解决方案。也为我工作。很好的研究。@Andrea Boscolo:我没能拖出最后一个元素。当我调试时发现它的父项为空