首页 > 解决方案 > 如何在 JFileChooser 中设置默认的新目录名称?

问题描述

在 Java 程序中,我想显示一个 JFileChooser,用户只选择一个目录名称,将写入多个输出文件。所以 mychooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY),这很容易。但我想填写一个默认目录名。JFileChooser 似乎不允许我这样做。

我写了这个:

    File newdir=new File(newdirname);
    JFileChooser chooser=new JFileChooser(newdir);
    chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    int reply=chooser.showSaveDialog(Captions.home);

我期待它会显示 newdir 的父目录,并填写了 newdir 的完整路径。但是,如果 newdir 尚不存在,它会显示我的文档目录。

我还尝试使用chooser.setSelectedFile,它给出了不同的结果——它显示了父目录而不是文档目录——但仍然不是我想要的。

我不想在调用 JFileChooser 之前创建 newdir,因为用户可能不会采用默认值。我想我可以创建它,然后如果用户选择其他东西删除它,但这似乎很愚蠢。

有没有一种干净的方法可以做到这一点?

请注意,我不是在问如何设置默认文件名。我在问如何设置默认目录名称。我第一次尝试提出这个问题时,有人关闭了作为询问设置默认文件名的重复项。但是设置默认文件名的方法不适用于设置默认目录名。也许还有一些额外的技巧可以使它与目录名称一起使用。如果是这样,这就是我要问的。

标签: javaswingjfilechooser

解决方案


推荐阅读