2016-12-20 51 views
0

選擇樹節點項目的完整路徑我有一個的TreeView分量和它的內容是這樣的:獲取JavaFX中

    • 物品1
    • ITEM2
    • Folder1中
      • Folder2
        • item101
    • 項目3

我想選擇的,當它返回路徑/根/資料夾/文件夾2/item101,這樣我可以把在下載命令。

下面是我到目前爲止制定的示例(很差的測試目的),問題是它不能在文件夾內工作,只能在根目錄下工作。我正在使用CloudRail API for 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