使用FileChooser保存具有默认文件名的文件

时间:2013-03-09 11:58:23

标签: javafx-2

我要保存文件。我使用它。

FileChooser fileChooser = new FileChooser();
File file = fileChooser.showSaveDialog(null);

但是在对话框中我想建议文件的名称,以便用户只选择给定文件的目录。文件的名称已经知道。所以我想建议文件名。

THANKYOU。

3 个答案:

答案 0 :(得分:7)

现在在Javafx 2.2.45(现在与java 7.0_45捆绑在一起)中修复了这个问题,你可以使用fileChooser,setInitialFilename的以下属性来执行OP的建议,这样使用:

        FileChooser myFile = new FileChooser();
        myFile.setInitialFileName("Whatever_file_I_want.coolFile");

现在,我不认为无论如何都要阻止用户选择不同的文件,但是如果没有,那么这将给他们一个你希望他们选择的默认值。

答案 1 :(得分:4)

提供初始文件名 - 这是一个需要通过本机调用将字符串(初始名称)传输到本机文件选择器调用的东西。这是一个复杂的事情,你可以看看它们的实施问题:

http://javafx-jira.kenai.com/browse/RT-16111(主要的)

http://javafx-jira.kenai.com/browse/RT-24588

http://javafx-jira.kenai.com/browse/RT-24612

它们都有修复版本的lombard,因此,它们已在JDK 8中修复。

因此,您可以从JDK 8开始指定文件的初始文件名(您可以访问它,下载JDK早期访问权限)。

最近,我测试了这个功能,它正在运行。

有一个方法setInitialName()或类似的smth。

而且,正如我所提到的,这是一个复杂的事情,你不可能自己实现它(直到你能够构建jfx)。

所以,决定 - 等到JDK8发布,或者使用早期访问构建。或者,使用您自己的文件选择器实现。

答案 2 :(得分:1)

这是一个对我有用的解决方法:

您可以使用javafx.stage.DirectoryChooser选择要保存的文件的目录,并在保存后使用默认名称和扩展名在此目录中创建新文件。

DirectoryChooser dc = new DirectoryChooser();
File file = dc.showDialog(null);
if (file != null) {
            file = new File(file.getAbsolutePath() + "/dafaultFilename.extension");}