如何使用操作系统的默认文件选择器? 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中看到它。