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

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

在此处输入图像描述

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

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

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

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

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

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

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

 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 

在此处输入图像描述

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

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

  • 文件对话框示例:对话框«SWT JFace Eclipse«Java
  • eclipse.platform.swt.git – Eclipse SWT

假设从Java的第7版开始,Swing样式将更像操作系统,但可以在Java 8中看到它。