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