在 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
尚不存在,它显示“我的文档”目录。
我不想创建newdir
在调用 JFileChooser 之前,因为用户可能不采用默认值。我想我可以创建它,然后如果用户选择其他内容则删除它,但这看起来相当愚蠢。
有没有一种干净的方法来做到这一点?
I am not询问如何设置默认值file姓名。我想问一下如何设置默认值目录姓名。该问题作为询问设置默认文件名的重复问题而被关闭,但设置默认文件名的方法不起作用用于设置默认目录名称。也许有一些额外的技巧可以使其与目录名一起使用。如果是这样,那就是我要问的。
我最终用一个丑陋且笨拙的解决方法“解决”了这个问题。在我听到更好的消息之前,我做了以下事情:
在打开 JFileChooser 之前,我创建了想要作为默认目录的目录。然后我可以选择它作为默认的“文件”。当我从 JFileChooser 取回控制权时,如果所选文件名是此默认目录,那么很好,我可以使用它运行。否则——用户取消了 JFileChooser 或所选文件取消了not匹配默认目录——然后我删除我创建的“临时”默认目录。
(哦,在删除之前,我确保它是空的,所以以防万一,在您打开 JFileChooser 和选择其他目录之间的时间内,其他人跳入并在该目录中创建了一个文件,我不会吹把它带走。)
创建目录,然后在未选择的情况下将其删除似乎很愚蠢,但它确实有效,这比我尝试过的其他不起作用的方法要好,所以......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)