我正在用 Java 制作一个文本编辑器,但我的保存功能无法按我想要的方式工作。这是我用来保存文件的代码:
public void actionPerformed(ActionEvent event) {
String filename = JOptionPane.showInputDialog("Name this file");
JFileChooser savefile = new JFileChooser();
savefile.setSelectedFile(new File(filename));
savefile.showSaveDialog(savefile);
BufferedWriter writer;
int sf = savefile.showSaveDialog(null);
if(sf == JFileChooser.APPROVE_OPTION){
try {
writer = new BufferedWriter(new FileWriter(filename,
false));
text.write(writer);
writer.close();
JOptionPane.showMessageDialog(null, "File has been saved","File Saved",JOptionPane.INFORMATION_MESSAGE);
// true for rewrite, false for override
} catch (IOException e) {
e.printStackTrace();
}
}else if(sf == JFileChooser.CANCEL_OPTION){
JOptionPane.showMessageDialog(null, "File save has been canceled");
}
}
当我单击“保存”按钮时,会弹出窗口,我选择要保存的位置。单击“保存”后,它会再次打开窗口并保存到我的 Eclipse Workspce。我用谷歌搜索了互联网,没有人遇到同样的问题。
最佳答案
因为你写道:
savefile.showSaveDialog(savefile);
还有:
int sf = savefile.showSaveDialog(null);
(两次)。您只需删除:
savefile.showSaveDialog(savefile);
关于java - 如何使用 JFileChooser.showSaveDialog 保存文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22261130/