我有一个 TreeView 组件,其内容如下:
我希望它在选中时返回路径/ root / Folder1 / Folder2 / 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);
答案 0 :(得分:4)
你可以这样做:
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();