【问题标题】:JavaFX FileChooser initial directoryJavaFX FileChooser 初始目录
【发布时间】:2015-08-31 19:57:35
【问题描述】:

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

【问题讨论】:

  • 只在需要调用的地方调用setInitialDirectory 有什么问题?
  • 只需要循环大约 40 个类并调用它。希望有更好的方法。

标签: java javafx directory default filechooser


【解决方案1】:

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

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

【讨论】:

  • 如果您决定使用全局FileChooser,您可以在需要时使用chooser.getExtensionFilters().clear() 清除ExtensionFilters
猜你喜欢
  • 2016-06-25
  • 2017-10-15
  • 2016-12-28
  • 2012-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
  • 2015-05-09
相关资源
最近更新 更多