Мне нужно выполнить очень простое перетаскивание панелей в вертикальном расположении.
- каждая панель устанавливается как 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 ??
}
});