我需要在垂直布局中完成非常简单的面板拖放。
现在当我在垂直布局中有几个面板并且我将面板拖到另一个面板上并放下它时我的dropListener运行,在这里我不知道如何管理我需要的东西。我只需要面板根据鼠标指针在适当的位置移动。任何人都可以分享一些代码如何使用Vaadin 8.2实现这一目标?我应该手动切换面板吗?如果是这样,我如何检测鼠标在垂直布局中指向的位置?
dropTarget.addDropListener(event -> {
Optional<AbstractComponent> dragSource = event.getDragSourceComponent();
if (dragSource.isPresent() ) {
# I can remove dragged panel from layout using this code
fieldsLayout.removeComponent(dragSource.get());
## how to place dragged panel into proper place ??
}
});
答案 0 :(得分:1)
不确定它是否有点过分,但在Vaadin 7中,我们总是使用DragDropLayouts插件来简化代码。 我们最近也在Vaadin 8项目中使用它,它只是起作用;)