Java文件对话框选择目录:仅限Mac OSX?

Java文件对话框选择目录:仅限Mac OSX?,java,directory,filedialog,Java,Directory,Filedialog,我是通过 System.setProperty("apple.awt.fileDialogForDirectories", "true"); 用户可以通过文件对话框选择目录,现在文件对话框会激活本机文件选择器,这正是我想要的,但上面的一行内容是:apple.awt…,这是否意味着此选项仅适用于Mac OSX if(no) { great } else { what can i do to implement this on other operating systems tha

我是通过

System.setProperty("apple.awt.fileDialogForDirectories", "true");
用户可以通过
文件对话框
选择目录,现在
文件对话框
会激活本机文件选择器,这正是我想要的,但上面的一行内容是:
apple.awt…
,这是否意味着此选项仅适用于Mac OSX

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


PS:我知道很多人建议使用JFileChooser,但在这种情况下我更喜欢FileDialog,除非据我所知这是不可能的,FileDialog不支持(在代码中)在所有平台上使用目录对话框

你已经提到了Swing的JFLeFixEnter,但是你可能想为你的小部件考虑SWT。

是Eclipse(最初是IBM)创建更新的JavaGUI工具包的项目,该工具包在可用时仍然使用本机小部件

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


顺便说一句,SWT有一个小部件。

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

你已经提到了Swing的JFLeFixEnter,但是你可能想为你的小部件考虑SWT。

是Eclipse(最初是IBM)创建更新的JavaGUI工具包的项目,该工具包在可用时仍然使用本机小部件

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


顺便说一句,SWT有一个小部件。

这正是您所担心的。 AWT在下面使用本机LIB。OSX有只查找目录的功能,windows没有。 因此,您唯一的改变是使用一个不基于AWT的对话框,即Swing或SWT


您可以使用特定于平台的实现定义接口。这在OSX和其他平台上提供了一个好看的对话框。我就是这么做的。

这正是你所担心的。 AWT在下面使用本机LIB。OSX有只查找目录的功能,windows没有。 因此,您唯一的改变是使用一个不基于AWT的对话框,即Swing或SWT


您可以使用特定于平台的实现定义接口。这在OSX和其他平台上提供了一个好看的对话框。这就是我所做的。

如果您使用Swing,则无法轻松切换到SWT。我知道我在说什么,因为我们正在准备将Swing应用程序转换为SWT。@mklhmnn:因为他使用的是awt FileDialog类,不想使用JFileChooser,所以我假设他没有使用Swing。我使用的是一小部分Swing组件,所以我想SWT实现比JFileChooser更难实现,但是感谢你指出SWT的存在(对我来说这是新的),如果你使用Swing,你不能轻易地切换到SWT。我知道我在说什么,因为我们正在准备将Swing应用程序转换为SWT。@mklhmnn:因为他使用的是awt FileDialog类,不想使用JFileChooser,所以我假设他没有使用Swing。我使用的是一小部分Swing组件,所以我想SWT实现比JFileChooser更难实现,但是感谢您指出SWT的存在(对我来说是新的)Windows确实有一个目录选择对话框,它在最初创建AWT时不存在。Windows确实有一个目录选择对话框,它在最初创建AWT时不存在。