我要保存文件。我使用它。
FileChooser fileChooser = new FileChooser();
File file = fileChooser.showSaveDialog(null);
但是在对话框中我想建议文件的名称,以便用户只选择给定文件的目录。文件的名称已经知道。所以我想建议文件名。
THANKYOU。
答案 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");}