Java FileDialog选择目录:仅限Mac OSX?

时间:2010-12-20 14:36:29

标签: java directory filedialog

我通过

读到了
System.setProperty("apple.awt.fileDialogForDirectories", "true");

用户可以通过FileDialog选择目录,现在FileDialog会唤醒原生文件选择器,这正是我想要的,但在上面的行中显示为:apple.awt...,这意味着此选项仅适用于Mac OSX?

if(no) {
    great
} else {
    what can i do to implement this on other operating systems than?
}

感谢您的帮助!

PS:我知道很多人建议使用JFileChooser,但在这种情况下我更喜欢FileDialog,除非那是不可能的

2 个答案:

答案 0 :(得分:1)

正如你所担心的那样。 AWT使用了下面的本机库。 OSX具有仅查找目录的功能,而Windows则不具备。 所以你改变的只是使用一个不基于AWT的对话框,即Swing或SWT。

您可以使用平台特定实现来定义接口。这为OSX提供了一个漂亮的对话框,并且可以在其他平台上运行。这就是我的工作。

答案 1 :(得分:0)

据我所知,FileDialog不支持(在代码中)在所有平台上使用目录对话框。

你已经提到过Swing的JFileChooser,但你可能想要为你的小部件考虑SWT。

SWT是Eclipse(最初是IBM)的项目,用于创建更新的Java GUI Toolkit,当它们可用时仍然使用本机窗口小部件。

SWT的主要缺点是它不是标准Java发行版的一部分......并且每个平台都有自己的SWT jar文件。

顺便提一下,SWT有一个DirectoryDialog小部件。