在Linux上有没有替代JFileChooser的选择?

10

我不喜欢Linux中这个丑陋的文件选择器界面。

enter image description here

其他任何程序都使用了这种布局,而且要漂亮得多。

Screenshot

Java中是否有可用的这种布局?如果有,应该怎么做呢?


可能是 https://dev59.com/4XRA5IYBdhLWcg3w_C8w 的重复问题。 - Jack
1
并不是完全重复,正如Yuvi Masory的回答所解释的那样。 - Jonik
2个回答

3
更新: 这个项目 致力于解决这个问题。
我认为这不是重复的问题。其他问题中提出的解决方案并不能帮助 Linux (至少是 GTK) 的情况。
  • AWT 的 FileDialog 看起来与 JFileChooser 不同,但实际上也很奇怪。它看起来并不像本地 GTK 应用程序的文件选择器。
  • XFileDialog 仅适用于 Windows 并在 GTK 中回退到 JFileChooser
  • VFSJFileChooser 没有改进 GTK LAF 的目标。

不幸的是,我不知道有哪个文件选择器在 GTK 中看起来是本地的。希望其他人能知道。


谢谢!我想我将来会使用VFSJFileChooser!谢谢。 - Martijn Courteaux
我刚刚开发了OtrosVfsBrowser(http://code.google.com/p/otrosvfsbrowser/)。我这样做是为了从OtrosLogViewer中迁移VFSJFileChooser。OtrosVfsBrowser读取VFSJFileChooser书签。 - KrzyH

1

gtkjfilechooser无法与新的JDK(如JDK7)一起使用。这个问题在2011年被报告,但现在还没有修复。

另一方面,AWT FileDialog已经在Java 7中得到改进 - 包括多文件选择。请查看链接的JavaDoc。

AWT的FileDialog看起来与JFileChooser不同,但实际上同样奇怪。它看起来不像本机GTK应用程序的文件选择器。

谈到JDK7的FileDialog,这个说法不再是正确的。现在,它看起来完全像本机的文件选择器。


顺便提一句,在OS X上也存在同样的问题,它的JFileChooser看起来也不太本地化。苹果建议使用FileDialog代替JFileChooser

虽然每种方法都有其优点,但java.awt.FileDialog使您的应用程序更像本机Mac应用程序。这个对话框[FileDialog][...],看起来很像OS X中的Finder窗口。

[...]

Swing对话框[...]看起来不太像OS X对话框。

[...]

除非您需要JFileChooser的功能优势,否则请改用FileDialog。

(来源)

最后一句似乎在Linux和OS X之间是通用的。所以最终:

如果您没有(功能)原因需要使用JFileChooser,请改用AWT的FileDialog。

很遗憾,似乎没有办法以跨平台的方式在FileDialog中实现按扩展名过滤的功能。 - Simon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接