Mac上的JFileChooser在“仅限目录”模式下存在两个严重的、破坏性的问题:
1)你无法使用它创建目录
2)你无法切换驱动器
这对于我的安装程序来说是一个相当大的问题。据我所知,苹果没有提供解决此问题的方法,甚至不能激活非本地目录选择器......因此,唯一的选择是找到一个免费/开源的纯Java替代小部件。
有人知道有这样的吗?
Mac上的JFileChooser在“仅限目录”模式下存在两个严重的、破坏性的问题:
1)你无法使用它创建目录
2)你无法切换驱动器
这对于我的安装程序来说是一个相当大的问题。据我所知,苹果没有提供解决此问题的方法,甚至不能激活非本地目录选择器......因此,唯一的选择是找到一个免费/开源的纯Java替代小部件。
有人知道有这样的吗?
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);
}
FileDialog
的行为已经发生了改变。如果你将apple.awt.fileDialogForDirectories
设置为true
,那么你实际上禁用了文件的选择,只能选择目录。如果不设置任何系统属性,OS X将允许你选择文件或目录。 - Christopher SchultzJFileChooser可以看到外部驱动器。从根目录向下导航到/Volumes,所有驱动器都会列在那里。这不是很优雅,但它可以工作...
http://lists.apple.com/archives/java-dev///2008/Feb/msg00079.html
我使用了带有showDialog方法的JFileChooser,没有出现任何问题。我可以创建目录并将文件保存为我喜欢的名称。如果您仅使用showOpenDialog方法,则无法创建目录。
我发现有一个神奇的属性可以设置,使awt文件选择器做正确的事情:
System.setProperty("apple.awt.fileDialogForDirectories", "true");
我模糊地记得在使用 OS X 10.4 时尝试过这个方法,但是它并没有起作用。现在我已经升级到 Leopard,它可以工作了,所以我很高兴。