当我将该小部件拖放到面板之外时,我试图从面板中删除该小部件。 我查找了这些教程和示例 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/