-1
我有一个垂直布局,我需要在垂直布局中上下移动组件。我使用DragAndDropWrapper,但我不确定在DropHandler的拖放函数下实现什么。我找到了绝对布局的例子,它工作。vaadin drag n drop组件
class MoveHandler implements DropHandler
{
public AcceptCriterion getAcceptCriterion()
{
return AcceptAll.get();
}
public void drop(DragAndDropEvent event)
{
WrapperTransferable t = (WrapperTransferable) event.getTransferable();
WrapperTargetDetails details = (WrapperTargetDetails) event.getTargetDetails();
// Calculate the drag coordinate difference
int xChange = details.getMouseEvent().getClientX() - t.getMouseDownEvent().getClientX();
int yChange = details.getMouseEvent().getClientY() - t.getMouseDownEvent().getClientY();
// Move the component in the absolute layout
ComponentPosition pos = ((AbsoluteLayout)
questionButtonLayout).getPosition(t.getSourceComponent());
pos.setLeftValue(pos.getLeftValue() + xChange);
pos.setTopValue(pos.getTopValue() + yChange);
}
}
以上是抽象布局的代码。不知道如何做垂直布局。