[英]Disable hidden files using FileChooser from 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);
更新
这是用于打开文件的Google Chrome模式。
查看源代码后... FileChooser
是在原生对话框上实现的,完全不可自定义。
所以,不,你不能强制对话框显示/隐藏隐藏文件。
在FileChooser
对话框中,应该有一个上下文菜单项来显示/隐藏它们,但是您无法从应用程序控制此选项
例如,以下是它在Linux上的外观:
您是否尝试将所有隐藏文件隐藏在OS X计算机上的Finder
程序中? 那么:不使用JavaFX,而是使用程序Finder?
我知道这是游戏的后期,但没有一个答案真正解释了MacOS的情况。
JavaFX中的打开/保存对话框是本机对话框(实现为“工作表”)。 就像Finder没有“显示隐藏文件”选项一样,这些对话框也没有。 有几种解决方案:
相对未知的键盘快捷键,自Mavericks以来可用: 在Mac打开和保存对话框中查看隐藏文件 。 (我只是偶然发现了这个;我总是使用下面的#2。)
终端中的命令行开关:
defaults write com.apple.finder AppleShowAllFiles YES
,或 defaults write com.apple.finder AppleShowAllFiles NO
您的用户必须充分了解这些替代方案; 您无法自定义本机打开/保存对话框以提供执行此操作的按钮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.