当前位置: 首页 > 面试题库 >

如何在JavaFX TreeView中仅显示文件名?

阎裕
2023-03-14
问题内容

因此,我想出了如何获取所有文件和目录并将其添加到树视图中的方法,但它向我展示了完整的文件路径: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());
            }

        };
    }
});


 类似资料:
  • 问题内容: 如何在Linux上仅显示文件名(无内联匹配)? 我通常使用类似: 我如何才能获取文件名(带有路径)却没有匹配项?我必须使用吗?我的手册页上没有找到执行此操作的方法。 问题答案: 标准选项(即小写的L)可以做到这一点。 根据Unix标准: 在这种情况下,您也不需要。

  • 我有一个由itext自动生成的PDF文件,我需要在HTML中显示该PDF文件。我的问题是:如何使用PDF.js在HTML中显示一个本地PDF文件?那个PDF文件应该按照某些标准生成吗?

  • 问题内容: 我有具有日期字段的表。当我运行查询时,我看到以下内容: 2009年1月10日22:10:39 如何只检索时间(IE:22:10:39) 问题答案: 您可以尝试以下方法: 编辑: 正如@steven指出的那样,要使用24小时样式

  • 我需要获得JSFIDDLE演示以保持上传多个文件的能力,但是不是显示预览,而是我只需要显示多个文件名。 以下是用于上传文件的 JSFIDDLE JS: 此外,我需要能够仅上传以下文件类型:. jpg、. png、. pdf、. xlsx和. docx。 感谢您的任何帮助!

  • 问题内容: 我希望有一种方法可以在中显示XML文件的内容。通过实现自定义(和),我已经使用DOM完成了这一工作。但是,它非常笨拙(很多变通方法和黑客手段),并且边缘比较粗糙。 有谁知道一种方法来显示用SAX解析的XML文件的内容? 谢谢! 问题答案: 这是我使用的代码。它基于Dom4J的API,但是您可以轻松地将其转换为您喜欢的XML库的API:

  • 问题内容: 我可以将a的文本更改为粗体(附加文本),然后再恢复为普通文本,是否仅将粗体文本显示为粗体,其余部分正常显示? 还可以将其内容另存为RTF文档吗? 问题答案: 不,您要找的是JEdi​​torPane 它支持HTML(3.2?),可让您使用(和其他较早的标记)提供富文本格式。 编辑 :根据我上面引用的javadoc,JEditorPane还支持有限的RTF。不要忘记将MIME更改为