【发布时间】:2020-06-20 13:48:43
【问题描述】:
我正在用 Java 构建一个简单的程序,而且我一般是 GUI 新手。我正在尝试打开 FileDialog 来选择一个目录并使用它的路径将文件发送到所选目录。但是,它不适用于 FileDialog。
现在,我尝试了 JFileChooser,但它一直挂起,并且不像 FileDialog 那样显示完整的 Mac OS X 对话框,我更喜欢使用后者。下面是我的 FileDialog 的代码。当我从对话框中选择它时,如何获取所选目录并将其打印出来?我花了 2 天时间研究,只是找不到一个好的解决方案,它可以显示完整的 MAC OS X 对话框。
String osName = System.getProperty("os.name");
String homeDir = System.getProperty("user.home");
File selectedPath = null;
final JFileChooser fc = new JFileChooser();
if (osName.equals("Mac OS X")) {
System.setProperty("apple.awt.fileDialogForDirectories", "true");
FileDialog fd = new FileDialog(new Frame(), "Choose a file", FileDialog.LOAD);
fd.setDirectory(homeDir);
fd.setVisible(true);
String filename = fd.getDirectory();
selectedPath = new File(filename);
if (filename == null) {
continue;
} else {
save_location = filename;
dout.writeUTF("200"); //Status OK
dout.flush();
System.out.println(filename);
}
System.setProperty("apple.awt.fileDialogForDirectories", "true");
}
【问题讨论】: