如何在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 obj);

任何帮助将不胜感激。

回答:

使用自定义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

回到顶部