我有点困惑。我从JFileChooser
更改为awt.FileDialog
,因为我的客户希望在Windows和OSX上使用原生外观。
现在我必须以这种方式配置对话框,即用户只能打开目录而不是文件。这对OSX来说绝对没有问题,因为我只需要设置属性
System.setProperty("apple.awt.fileDialogForDirectories", "true");
但是对于Windows我找不到任何解决方案。我能找到的是设置FilenameFilter
class FolderFilter implements FilenameFilter
{
public boolean accept(File dir, String name)
{
return new File(dir,name).isDirectory();
}
}
FileDialog chooser = new FileDialog(this);
chooser.setFilenameFilter(new FolderFilter());
chooser.setMode(FileDialog.LOAD);
chooser.setVisible(true);
String folderSelected = chooser.getDirectory();
但这绝对没有影响。当我选择一个文件夹并按下"打开"按钮它仍然进入目录而不是关闭对话框并返回文件夹。
我错过了什么?
答案 0 :(得分:0)
据我所知,你没有做错任何事。这是预期的FileDialog行为。
以下是您可以做的事情: