Программисты JAVA общаются здесь
Anonymous
Vaadin 24 Перетаскивание
Сообщение
Anonymous » 26 ноя 2024, 16:44
Я пытаюсь заставить перетаскивание работать с Vaadin 24. Это должно быть легко. Но почему-то это просто не работает. Это мой код:
Код: Выделить всё
public DashboardView() {
System.out.println("View loaded!");
// Drag-Quelle
Div dragSourceDiv = new Div(new Text("Drag me!"));
dragSourceDiv.getStyle()
.set("padding", "20px")
.set("background-color", "lightgray")
.set("cursor", "grab");
DragSource dragSource = DragSource.create(dragSourceDiv);
dragSource.setEffectAllowed(EffectAllowed.MOVE);
dragSource.addDragStartListener(event -> System.out.println("Drag started!"));
// Drop-Ziel
Div dropTargetDiv = new Div();
dropTargetDiv.setWidth("300px");
dropTargetDiv.setHeight("300px");
dropTargetDiv.getStyle()
.set("border", "3px dashed blue")
.set("background-color", "yellow");
DropTarget dropTarget = DropTarget.create(dropTargetDiv);
dropTarget.setDropEffect(DropEffect.MOVE);
dropTarget.addDropListener(event -> {
System.out.println("Drop-Event!");
event.getDragSourceComponent().ifPresent(source -> {
System.out.println("Widget dropped: " + source.getElement().getText());
});
});
add(dragSourceDiv, dropTargetDiv);
}
К сожалению, это не работает. «Дроп-событие!» никогда не печатается на экране.
Что я делаю не так?
спасибо,
Торстен
Подробнее здесь:
https://stackoverflow.com/questions/792 ... g-and-drop
1732628691
Anonymous
Я пытаюсь заставить перетаскивание работать с Vaadin 24. Это должно быть легко. Но почему-то это просто не работает. Это мой код: [code]public DashboardView() { System.out.println("View loaded!"); // Drag-Quelle Div dragSourceDiv = new Div(new Text("Drag me!")); dragSourceDiv.getStyle() .set("padding", "20px") .set("background-color", "lightgray") .set("cursor", "grab"); DragSource dragSource = DragSource.create(dragSourceDiv); dragSource.setEffectAllowed(EffectAllowed.MOVE); dragSource.addDragStartListener(event -> System.out.println("Drag started!")); // Drop-Ziel Div dropTargetDiv = new Div(); dropTargetDiv.setWidth("300px"); dropTargetDiv.setHeight("300px"); dropTargetDiv.getStyle() .set("border", "3px dashed blue") .set("background-color", "yellow"); DropTarget dropTarget = DropTarget.create(dropTargetDiv); dropTarget.setDropEffect(DropEffect.MOVE); dropTarget.addDropListener(event -> { System.out.println("Drop-Event!"); event.getDragSourceComponent().ifPresent(source -> { System.out.println("Widget dropped: " + source.getElement().getText()); }); }); add(dragSourceDiv, dropTargetDiv); } [/code] К сожалению, это не работает. «Дроп-событие!» никогда не печатается на экране. Что я делаю не так? спасибо, Торстен Подробнее здесь: [url]https://stackoverflow.com/questions/79226961/vaadin-24-drag-and-drop[/url]