JavaFX FileChooser的初始目录

时间:2015-08-31 19:57:35

标签: java javafx directory default filechooser

在Swing中,JFileChooser指向用户的默认目录,该目录通常是"我的文档" Windows中的文件夹。默认情况下,JavaFX FileChooser没有相同的行为。有一个setInitialDirectory方法应该没问题,但是我们打开FileChoosers的应用程序中有很多地方。不幸的是,FileChooser类是final,所以我不能简单地扩展类,只需调用setInitialDirectory一次。除了浏览整个应用程序并添加setInitialDirectory来电之外,还有什么我可以做的吗?

1 个答案:

答案 0 :(得分:3)

有一个明显的解决方案,只需在某处创建静态实用程序方法:

public class MyUtilities {

    public static FileChooser createFileChooser() {
        FileChooser chooser = new FileChooser();
        chooser.setInitialDirectory(new File(System.getProperty("user.home"));
        return chooser ;
    }
}

然后你可以做

FileChooser chooser = MyUtilities.createFileChooser();

无论何时需要。

从用户体验的角度来看,我实际上更喜欢为整个应用程序使用单个FileChooser实例(或者至少为大型应用程序的每个功能部分使用)。这样它就维护了用户访问的最后一个目录,这对imho来说更方便。