大家好我正在創建一個簡單的文本編輯器作爲一個項目,當保存輸入爲文件的內容時,我遇到了一些麻煩。我可以使用另存爲原則保存文件,並提供一個對話框提示用戶輸入文件名。如何保存文本文件而不必每次都輸入文件名?
我遇到的問題是實現保存,以便保存到打開的文件,而不必每次都轉到對話框,就像有人按Ctrl + S時一樣。任何人有任何想法我將如何實現此功能?
下面是我的一些代碼:
JMenuItem saveFile = new JMenuItem(new AbstractAction("Save") {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser save = new JFileChooser();
File filename = save.getSelectedFile();
if(opened == false && saved == false) {
save.showSaveDialog(null);
int confirmationResult;
if(filename.exists()) {
confirmationResult = JOptionPane.showConfirmDialog(getParent(), "Replace existing file?");
if(confirmationResult == JOptionPane.YES_OPTION) {
saveFile(filename);
}
} else {
saveFile(filename);
}
} else {
saveFile(filename);
}
}
});
saveFile.setPreferredSize(new Dimension(100, 20));
saveFile.setEnabled(true);
保存方法:
private void saveFile(File filename) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(filename));
writer.write(textArea.getText());
writer.close();
saved = true;
editorWindow.setTitle("JavaText - " + filename.getName());
} catch (IOException err) {
err.printStackTrace();
}
}
文件名的存儲位置? –