directory - JavaFX 文件选择器和目录选择器

标签 directory javafx filechooser

我现在在使用 JavaFX 时遇到了一个小问题。我尝试在我的代码中进行文件选择,我可以指向文件夹而不是文件。目前我没有解决方案。您知道解决方法吗(除了使用 swing 中的 JFileChooser 之外)?

非常感谢您的提前答复

编辑:我现在已经得到了答案,正在尝试测试它,但我忘记提及 JavaFX 的版本。这是最新的 2.0.3 稳定版,几天前发布(但最初的非 beta 2.0 和 2.0.1 也有这个问题)

最佳答案

一个FileChooser作为 JavaFX API 的一部分提供。

来自 javadoc 的示例用法:

FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Resource File");

fileChooser.getExtensionFilters().addAll(
        new ExtensionFilter("Text Files", "*.txt"),
        new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"),
        new ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"),
        new ExtensionFilter("All Files", "*.*"));

File selectedFile = fileChooser.showOpenDialog(mainStage);

if (selectedFile != null) {
    mainStage.display(selectedFile);
}
<小时/>

一个DirectoryChooser作为 the 2.1 release 的一部分添加到 JavaFX .

用法是:

DirectoryChooser chooser = new DirectoryChooser();
chooser.setTitle("JavaFX Projects");

File defaultDirectory = new File("c:/dev/javafx");
chooser.setInitialDirectory(defaultDirectory);

File selectedDirectory = chooser.showDialog(primaryStage);

issue tracker提到 2.0GA 版本的解决方法:“访问私有(private) Oracle API Glass 方法 CommonDialogs.showFolderChooser”。

<小时/>

DirectoryChooser 和 FileChooser 都将使用操作系统提供的 native 文件和目录选择用户界面对话框在内部实现(它们实际上并未实现为具有 SceneGraph 的 JavaFX 阶段)。

这意味着这些元素的外观和感觉将根据 JavaFX 运行所在的操作系统平台和 native 窗口管理工具包的不同而有所不同。

关于directory - JavaFX 文件选择器和目录选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9375938/

相关文章:

linux - 使文件夹对 Linux 中的几个选定用户可见

css - 如何使用 JavaFX 以编程方式设置 AreaChart 系列的样式

Android 文件选择器不显示文件

python 基维 : how to use filechooser access files outside C drive

Symfony 5 - 制作 :entity in custom folder?

directory - 从层次结构中的上游目录运行 scons

file - 如何从 pyspark 中的 hdfs 获取目录的文件名列表?

java - FXML 加载的 javafx main 方法中的错误未得到纠正

java - 如何限制用户可以调整 JavaFX 窗口大小的程度?

Java Jfilechooser show Multiple Dialogue 按顺序添加文件?