2015-11-26 1 views
0

Эй, я сейчас работаю над своим мастер-тезису и имею поблем ведьме, я не могу найти решение. Надеюсь, кто-то знает, что я делаю неправильно.JavaFX 8, VBox DragEvent - почему я не могу выбрать детей VBox

Ну я создал этот интерфейс:

enter image description here

Здесь я пытаюсь сделать элементы в «Свойства» dragable и поместите их в нижней TextFlow Node. Сам перетаскивание кажется уже сработавшим. Я попробовал это с помощью одного тестового ярлыка.

enter image description here

Но по какой-то причине я не могу управлять, чтобы воспроизвести, что с детьми в «Свойства» 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.

Есть ли у кого-нибудь идеи, что мне нужно изменить?

ответ

0

Хорошо, я нашел это, JavaFX не дает автогенерированных идентификаторов. И без них перетаскивание кажется неработоспособным.

Смежные вопросы