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

mat*_*ean 14 java jfilechooser

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

在此输入图像描述

就个人而言,我不喜欢它的JFileChooser外观,我认为我的用户能够使用他们更习惯的东西会更好.有人提示吗?

Mat*_*der 18

改为使用旧的java.awt.FileDialog:

new java.awt.FileDialog((java.awt.Frame) null).setVisible(true);
Run Code Online (Sandbox Code Playgroud)

  • 虽然这个答案很古老:我不建议使用Awt文件对话框.它在Linux和Mac上被打破了,Oracle不会再修复它了.因此,除非您仅针对Window用户,否则这不是一个好主意.此外,具有原生外观的`JFileChooser`在Windows上几乎完全相同. (4认同)

Jua*_*tti 12

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

    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }catch(Exception ex) {
        ex.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

这将使所有摆动组件看起来更好!


Gui*_*let 5

GMail是一个Web应用程序,最终依赖于浏览器显示此组件。现在,一个好的解决方案是使用系统的Native Look&Feel,该系统提供的JFileChooser与显示的内容非常相似:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

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