Здравствуйте, у меня возникла небольшая проблема с моим текстовым редактором, например программой. Я хотел бы, чтобы моя функция сохранения сохранялась только в том случае, если была вызвана функция «Сохранить как», и если вызывается «Сохранить», она добавляет текст из JTextArea в файл, созданный «Сохранить как». Я использую ActionListeners из JMenuItems для вызова Save и Save As Actions. Вот код для Save As:Как сохранить, сохранить как Java?
FileDialog fileDialogSave = new FileDialog(frame, "Save", FileDialog.SAVE);
fileDialogSave.setVisible(true);
String userProjectSavePath = fileDialogSave.getDirectory() + fileDialogSave.getFile();
File userProjectSave = new File(userProjectSavePath);
try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(userProjectSave, true)))) {
userProjectSave.createNewFile();
String userProjectNameToSave = codeArea.getText();
out.println(userProjectNameToSave);
} catch (IOException e1) {
e1.printStackTrace();
}
Как Сохранить и Сохранить как вкладываются static class ActionSaveAs implements ActionListener { public void actionPerformed(ActionEvent e) { ... } }
Проблема в том, что я не могу получить доступ к строке userProjectSavePath в классе Сохранить поэтому я не могу присоединить новый текст в тот же файл, что и в Save As.
Для получения более полной помощи, отправьте сообщение [MCTaRE] (http://stackoverflow.com/help/mcve) (минимальный полный протестированный и читаемый пример). –