如何使用操作系统的默认文件选择器?

问题描述 投票:0回答:5

我只是想知道:Gmail如何使用Windows/Mac文件选择器上传文件?有没有办法在 Java 中做到这一点?

就我个人而言,我不喜欢

JFileChooser
的样子,我认为我的用户能够使用他们更习惯的东西会更好。有人提示吗?

java jfilechooser
5个回答
22
投票

改用旧的 java.awt.FileDialog:

new java.awt.FileDialog((java.awt.Frame) null).setVisible(true);

14
投票

您可以尝试使用 JFileChooser,但将外观设置为平台外观:

    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }catch(Exception ex) {
        ex.printStackTrace();
    }

这将使所有秋千组件看起来更好!


5
投票

GMail 是一个 Web 应用程序,最终依赖于浏览器来显示此组件。现在一个好的解决方案是使用系统的本机外观和感觉,它提供与您显示的非常相似的 JFileChooser:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

enter image description here

编辑:Pulsar 的解决方案甚至更好,因为它提供了您正在寻找的确切对话。我不确定它是否提供了 JFileChooser 的所有功能。


3
投票

SWT 组件看起来总是与正在运行的操作系统中的样式相同。你可以看到一些例子:

原以为从 Java 7 开始,Swing 样式会更像操作系统,但可能会在 Java 8 中看到它。


-1
投票

使用特定于操作系统的文件选择器更多的是功能而不是外观。在 macOS 中,Finder 的功能远远超过 Java 使用的 JFileChooser。如果您打开了一个窗口,您只需将文件夹图标从打开的窗口拖到查找器窗口中,查找器窗口就会跳转到该位置,而不必在 JFileChooser 中寻找该位置。它节省了大量时间,并且远远优于 JFileChooser 或任何 Windows 使用

© www.soinside.com 2019 - 2024. All rights reserved.