2016-12-20 6 views
0

У меня есть TreeView компонент и содержание его так:Получить выбранного дерева элемента узла полный путь в JavaFX

  • корень
    • item1
    • item2
    • Folder1
      • Папка2
        • item101
    • item3

Я хочу, чтобы вернуть путь/корень/Folder1/folder2/item101 при выборе, так что я могу положить, что в скачать команда.

Ниже приведен образец, который я разработал до сих пор (плохо сделано для целей тестирования), проблема в том, что он не работает внутри папок, только в корне. Я использую CloudRail API для Java.

List<CloudMetaData> data = cs.getChildren("/"); 
String path=""; 
String selectedName = treeView.getSelectionModel().getSelectedItem().getValue() ; 
      System.out.println(selectedName); 
for (CloudMetaData cmd : data) { 
       cache.put(cmd.getPath(), cmd); 
       TreeItem<String> item = new TreeItem<>(cmd.getName()); 
          if(selectedName.equals(cmd.getName())){ 
           path=cmd.getPath(); 
          } 
} 
System.out.println(path); 

ответ

3

Вы можете сделать:

StringBuilder pathBuilder = new StringBuilder(); 
for (TreeItem<String> item = treeView.getSelectionModel().getSelectedItem(); 
    item != null ; item = item.getParent()) { 

    pathBuilder.insert(0, item.getValue()); 
    pathBuilder.insert(0, "/"); 
} 
String path = pathBuilder.toString(); 
+0

Работал как шарм. Спасибо!! – KnightHood

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

  • Нет связанных вопросов^_^