使用JavaFX中的FileChooser禁用隐藏文件

Dav*_*mez 12 java macos javafx

我正在使用JavaFX为其用户界面开发Java应用程序.

当我使用FileChooser类从Os X Mavericks中的计算机硬盘驱动器加载CSV文件时,对话框会显示所有文件和文件夹,甚至隐藏的文件和文件夹会产生很多噪音,并且很难找到所需的文件.

这个截图说明了我在说什么:

在此输入图像描述

我认为这可能更像是一个OS X问题,但我不明白如何解决,至少我不明白如何用JavaFX FileChooser类修复它.

这是我的代码:

Stage stage = new Stage();
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open File");
fileChooser.getExtensionFilters().addAll(
        new FileChooser.ExtensionFilter("Comma-Separated Values (CSV)", "*.csv")
);
fileChooser.setInitialDirectory(
        new File(System.getProperty("user.home"))
);
File selectedFile = fileChooser.showOpenDialog(stage);
Run Code Online (Sandbox Code Playgroud)

更新

这是用于打开文件的Google Chrome模式.

在此输入图像描述

acc*_*c15 1

查看源代码后... FileChooser是通过本机对话框实现的并且完全不可定制。

所以,不,您不能强制对话框显示/隐藏隐藏文件。

对话框内部FileChooser应该有一个上下文菜单项来显示/隐藏它们,但您无法从应用程序控制此选项

例如,它在 Linux 上的外观如下:

文件选择器上下文菜单