如何使用JFileChooser.showSaveDialog(...)设置建议的文件名?
2022-08-31 15:08:43
似乎缺少一个功能:一种在保存文件时建议文件名的方法(通常被选中的东西,以便在用户开始键入时将其替换)。JFileChooser
有没有办法解决这个问题?
似乎缺少一个功能:一种在保存文件时建议文件名的方法(通常被选中的东西,以便在用户开始键入时将其替换)。JFileChooser
有没有办法解决这个问题?
如果我正确理解你,你需要使用这个方法。setSelectedFile
JFileChooser jFileChooser = new JFileChooser();
jFileChooser.setSelectedFile(new File("fileToSave.txt"));
jFileChooser.showSaveDialog(parent);
该文件不需要存在。
如果传递具有绝对路径的文件,将尝试将自身定位在该目录中(如果存在)。JFileChooser
setSelectedFile不适用于上面提到的目录,解决方案是
try {
FileChooserUI fcUi = fileChooser.getUI();
fcUi.setSelectedFile(defaultDir);
Class<? extends FileChooserUI> fcClass = fcUi.getClass();
Method setFileName = fcClass.getMethod("setFileName", String.class);
setFileName.invoke(fcUi, defaultDir.getName());
} catch (Exception e) {
e.printStackTrace();
}
不幸的是,它不包含在UI界面中,因此需要动态调用它。仅在 Mac 上进行了测试。setFileName