Java 拖放组件后不会更改位置

Java 拖放组件后不会更改位置,java,vaadin,Java,Vaadin,我试图拖动一个按钮并将其放到我的vaadin ui的另一个布局中。但它不起作用。它不会改变我放下它的位置。下面是我的代码。任何帮助都很好 public class TestDrag extends VerticalLayout implements View { @Override public void enter(ViewChangeEvent event) { setSizeFull(); addStyleName("stores");

我试图拖动一个按钮并将其放到我的vaadin ui的另一个布局中。但它不起作用。它不会改变我放下它的位置。下面是我的代码。任何帮助都很好

public class TestDrag extends VerticalLayout implements View {

    @Override
    public void enter(ViewChangeEvent event) {

        setSizeFull();
        addStyleName("stores");


        HorizontalLayout layout1=new HorizontalLayout();
        Button button=new Button("Save");
        DragAndDropWrapper draggable = new DragAndDropWrapper(button);
        draggable.setDragStartMode(DragStartMode.COMPONENT);
        draggable.setSizeFull();
        layout1.addComponent(draggable); // add it to some layout
        addComponent(layout1);


        HorizontalLayout layout2=new HorizontalLayout();
        layout2.setSizeFull();
        Button button1=new Button("Cancel");
        layout2.addComponent(button1);

        DragAndDropWrapper destiny = new DragAndDropWrapper(
                layout2);
        addComponent(destiny);
        destiny.setDropHandler(new DropHandler() {

            @Override
            public AcceptCriterion getAcceptCriterion() {
              return AcceptAll.get();
            }

            @Override
            public void drop(DragAndDropEvent event) {
              Notification.show("Dropped!");

            }
          });
        destiny.setSizeFull();
    }


}

我找到了这样做的方法,我只需要改变下降方法如下

        @Override
        public void drop(DragAndDropEvent event) {
          Notification.show("Dropped!");
          WrapperTransferable t = (WrapperTransferable) event.getTransferable();
          layout2.addComponent(t.getSourceComponent());
        }