如何在JavaFX TreeView中仅显示文件名?
因此,我想出了如何获取所有文件和目录并将其添加到树视图中的方法,但它向我展示了完整的文件路径:C / user /
file.txt我只是想要文件或文件夹名称,而不是路径。
创建列表的代码如下:
private TreeItem<File> buildFileSys(File dir, TreeItem<File> parent){ TreeItem<File> root = new TreeItem<>(dir);
root.setExpanded(false);
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
buildFileSys(file,root);
} else {
root.getChildren().add(new TreeItem<>(file));
}
}
if(parent==null){
return root;
} else {
parent.getChildren().add(root);
}
return null;
}
然后,我将返回的TreeItem用作treeview.setroot(treeItem
任何帮助将不胜感激。
回答:
使用自定义cellFactory
确定项目如何在中显示TreeView
:
treeView.setCellFactory(new Callback<TreeView<File>, TreeCell<File>>() { public TreeCell<File> call(TreeView<File> tv) {
return new TreeCell<File>() {
@Override
protected void updateItem(File item, boolean empty) {
super.updateItem(item, empty);
setText((empty || item == null) ? "" : item.getName());
}
};
}
});
以上是 如何在JavaFX TreeView中仅显示文件名? 的全部内容, 来源链接: utcz.com/qa/403409.html