Vaadin 8 Drag&删除 - 如何在垂直布局中切换项目?

时间:2018-01-17 14:15:55

标签: vaadin vaadin8

我需要在垂直布局中完成非常简单的面板拖放。

  • 每个面板都设置为DragSourceExtension
  • 垂直布局设置为DropTargetExtension

现在当我在垂直布局中有几个面板并且我将面板拖到另一个面板上并放下它时我的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 ??

  }
});

1 个答案:

答案 0 :(得分:1)

不确定它是否有点过分,但在Vaadin 7中,我们总是使用DragDropLayouts插件来简化代码。 我们最近也在Vaadin 8项目中使用它,它只是起作用;)

https://vaadin.com/directory/component/dragdroplayouts