Java中的Windows本机文件选择器

hgncfbus  于 2023-04-10  发布在  Java
关注(0)|答案(2)|浏览(193)

显然,Windows(10)上有(至少?)两种不同的原生文件选择器。有一种是JFileChooser和其他程序使用的:

这是一个,例如Chrome使用的:

我比第一个更喜欢它,因为:

  • 你可以直接在顶部输入你的文件路径
  • 您可以搜索文件夹
  • 左边的直接访问包含了整个文件树
    如何在Java中获得它?
jtoj6r0c

jtoj6r0c1#

使用JavaFX库

FileChooser fileChooser = new FileChooser();
fileChoose.showOpenDialog(null);

要在swing上下文中运行它,请查看thosetwo答案。

PlatformImpl.startup(() -> {
    FileChooserd = new FileChooser();
    d.showOpenDialog(null);
});

 new JFXPanel();
 Platform.runLater(() -> {
     FileChooser d = new FileChooser();
     d.showOpenDialog(null);
 });

请注意,当混合JavaFX和Swing时,其他东西(如模态)将无法工作。此外,您必须构建一些代码,等待Runnable完成才能获取结果。

使用专用库

native file dialogs提供了本机文件对话框,LWJGL 3为这个库提供了Java绑定。

ilmyapht

ilmyapht2#

我也在找这个函数,找到了两个现成的库

我刚刚测试了JavaFX方法,它可以在测试环境中工作。但它需要JavaFX。如果目标平台上没有安装JavaFX,它会回退到Swing小部件(回退未测试)。还提供了Maven工件。第二个仅适用于Windows(未测试)。
也许这会帮助那些正在寻找这个功能的人。

相关问题