显然,Windows(10)上有(至少?)两种不同的原生文件选择器。有一种是JFileChooser和其他程序使用的:
JFileChooser
这是一个,例如Chrome使用的:
我比第一个更喜欢它,因为:
jtoj6r0c1#
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绑定。
ilmyapht2#
我也在找这个函数,找到了两个现成的库:
我刚刚测试了JavaFX方法,它可以在测试环境中工作。但它需要JavaFX。如果目标平台上没有安装JavaFX,它会回退到Swing小部件(回退未测试)。还提供了Maven工件。第二个仅适用于Windows(未测试)。也许这会帮助那些正在寻找这个功能的人。
2条答案
按热度按时间jtoj6r0c1#
使用JavaFX库
要在swing上下文中运行它,请查看thosetwo答案。
请注意,当混合JavaFX和Swing时,其他东西(如模态)将无法工作。此外,您必须构建一些代码,等待Runnable完成才能获取结果。
使用专用库
native file dialogs提供了本机文件对话框,LWJGL 3为这个库提供了Java绑定。
ilmyapht2#
我也在找这个函数,找到了两个现成的库:
我刚刚测试了JavaFX方法,它可以在测试环境中工作。但它需要JavaFX。如果目标平台上没有安装JavaFX,它会回退到Swing小部件(回退未测试)。还提供了Maven工件。第二个仅适用于Windows(未测试)。
也许这会帮助那些正在寻找这个功能的人。