Эй, я сейчас работаю над своим мастер-тезису и имею поблем ведьме, я не могу найти решение. Надеюсь, кто-то знает, что я делаю неправильно.JavaFX 8, VBox DragEvent - почему я не могу выбрать детей VBox
Ну я создал этот интерфейс:
Здесь я пытаюсь сделать элементы в «Свойства» dragable и поместите их в нижней TextFlow Node. Сам перетаскивание кажется уже сработавшим. Я попробовал это с помощью одного тестового ярлыка.
Но по какой-то причине я не могу управлять, чтобы воспроизвести, что с детьми в «Свойства» VBox.
Это, как я попробовал:
private void fillScrollPane(Content content, ScrollPane scrollPane) {
Map<String, Object> map = content.getProperties();
scrollPane.setPickOnBounds(false);
VBox root = new VBox();
scrollPane.setContent(root);
for (String s : map.keySet()) {
Object value = map.get(s);
if (value == null || value.toString().equals("[]") || value.toString().equals(""))
continue;
Label t = new Label(s + " : " + value.toString() + "\n");
t.setOnDragDetected((MouseEvent event) -> {
Dragboard db = t.startDragAndDrop(TransferMode.MOVE);
ClipboardContent clipboardContent = new ClipboardContent();
// Store node ID in order to know what is dragged.
clipboardContent.putString(t.getId());
db.setContent(clipboardContent);
event.consume();
});
root.getChildren().add(t);
}
}
но вместо draging детей в VBox это только кажется, чтобы выбрать весь VBox на щелчку мыши ..
Так короче: заказ например Сцена -> ScrollPane -> VBox -> Ярлык , и я хочу выбрать ярлык с событием перетаскивания. Direct on Scene работает, но не VBox.
Есть ли у кого-нибудь идеи, что мне нужно изменить?