JavaFX FileChooser 初始目录

JavaFX FileChooser initial directory

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

有一个显而易见的解决方案,就是在某处创建一个静态实用方法:

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 实例。这样它维护了用户访问的最后一个目录,恕我直言,这更方便。