Если экземпляр 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());
Можете ли вы поделиться некоторыми сведениями о том, что вы пробовали и где вы застряли? –