JavaFX FileChooser 选择文件和/或目录?

2022-09-03 14:38:08

JavaFX允许通过FileChooser选择一个文件,并通过DirectoryChooser选择一个目录,但是我如何允许它同时选择两者呢?

比如Swing的JFileChooser.FILES_AND_DIRECTORIES选项。

目前我只是直接使用JFileChooser,但它并不是一个很好的视觉匹配:

JFileChooser chooser = new JFileChooser(".");
chooser.setMultiSelectionEnabled(true);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int ret = chooser.showOpenDialog(null);
if(ret == JFileChooser.APPROVE_OPTION) {
    File[] files = chooser.getSelectedFiles();
    ...
}

答案 1

JavaFX允许通过FileChooser选择一个文件,并通过DirectoryChooser选择一个目录,但是我如何允许它同时选择两者呢?

在 JavaFX 2.2 或当前的 JavaFX 8 版本中没有这样的功能。


RT-22621 中请求了 JavaFX 的FILES_AND_DIRECTORIES选择器。

请求被拒绝为“无法修复”,原因如下:

Lubomir Nerad添加了一条评论 - Jun, 19 2012 06:59 AM JavaFX使用相应的本机对话框作为其文件和目录选择器。除非所有受支持平台上的本机文件对话框都能提供此功能,否则我们将无法将其添加到 API 中。

Lubomir Nerad 添加了一条评论 - Jul, 24 2012 06:54 AM 窗口 XP 和 Linux/GTK 上的平台对话框不提供所请求的功能。

对于Java 8,Windows XP不再受支持,也许Linux将被增强以提供这样的功能,以便JavaFX可以使用它,并且将来可以在JavaFX中提供这样的功能。您可以对链接的Jira案例发表评论以注册您的兴趣。


答案 2

推荐