繁体   English   中英

拖放gwt

[英]Drag and drop gwt

当我将该小部件放在面板外时,我正试图从面板中删除一个小部件。 我查看了这些教程和示例http://code.google.com/p/gwt-dnd/wiki/GettingStarted,但我无法弄清楚如何设置放置控制器以将其放在我的面板之外。

你能给出一个暗示或想法吗?

如果你将PickupDragController实例PickupDragController

PickupDragController controller =
    new PickupDragController(pickupContainer, false);

然后将小部件放在拾取容器之外,然后自动抛出VetoDragException (由于构造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(AbstractDropController)中,您必须在构造函数中定义一个元素,您可以在其中删除元素。 你有一些代码片段来帮助你具体化吗?

PS:我已经用你提到的这个库建立了一些D&D,在我看来,它是错误的并且不容易入手。 但我没有为GWT找到更好的原生D&D库,我们试图包装jquery D&D。 它非常快速和光滑,但很难包裹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM