JFileChooser用于Mac上的目录:如何让它不吸吮?

Mac上“仅限目录”模式的JFileChooser有两个严重的,严重的问题:

1)您无法使用它创建目录

2)您无法切换驱动器

对于我的安装程序应用来说,这是一个很大的问题 据我所知,Apple无法解决这个问题,你甚至无法激活非本机目录选择器…所以唯一的选择是找到一个免费/开源的纯Java替换小部件。

有人知道吗?

那么使用java.awt.FileDialog呢? 它显示本机文件选择器并允许创建新文件夹。

public static void main(String[] args) throws UnsupportedLookAndFeelException { JFrame frame = new JFrame(); System.setProperty("apple.awt.fileDialogForDirectories", "true"); FileDialog d = new FileDialog(frame); d.setVisible(true); } 

我使用jFileChooser和showDialog方法,我没有问题。 我可以使用我喜欢的名称创建目录和sava作为文件。 如果仅使用showOpenDialog方法,则无法创建目录

我发现你可以设置一个魔术属性,使awt filepicker做正确的事:

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

我模糊地回忆起在我使用OS X 10.4之前尝试这个并且它不起作用,但是现在我在Leopard上它确实如此,所以我是一个快乐的露营者。

JFileChooser 可以看到外部驱动器。 从根目录向下导航到/ Volumes,其中列出了所有驱动器。 它不优雅,但它有效……

http://lists.apple.com/archives/java-dev///2008/Feb/msg00079.html