Я пытаюсь создать приложение календаря и использовать раздел заметок, помеченный как заметки. У меня есть кнопка добавления, чтобы добавить новую заметку, и я хочу, чтобы она добавлялась к текущему файлу в пути. Я пытаюсь использовать BufferWriter для этого. Я приложил метод newNote (), который открывает новый фрейм и учитывает новый текст. Я думаю, что пытаюсь добавить новый текст в текущий файл, но примеры, которые я видел, показывают, как это сделать. Вывод TXT-файла не то, что я ожидал. Я думаю, что это связано с вызовом объекта textArea, и он извлекает данные объекта, а не входные данные внутри textArea. Я немного новичок в Java и делаю этот проект для личного пользования, а не для класса. Любая помощь и понимание будут оценены. Это также моя первая публикация на форуме, поэтому, пожалуйста, дайте мне знать, если есть лучший способ сделать это.
Метод newNote ().
public static void newNote() {//opens new frame to create a new note
//variables for the new window
JFrame noteFrame = new JFrame("New Note");
JPanel notePanel = new JPanel();
JButton cancelButton = new JButton("Cancel");
JButton addButton = new JButton("Add");
JTextArea textArea = new JTextArea("Add notes here");
//creates and positions buttons
addButton.setBounds(150,330,65,40);
addButton.addActionListener(new ActionListener() {//writes contents to a txt file when Add is clicked
@Override
public void actionPerformed(ActionEvent actionEvent) {
BufferedWriter writer = null;
try {
writer = new BufferedWriter((new FileWriter("/home/skydawg/pCloudDrive/Documents/test/Log.txt", true)));
writer.write(String.valueOf(textArea));
writer.newLine();
writer.flush();
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
if (writer != null) try {
writer.close();
} catch (IOException ioe2) {
// just ignore it
}
noteFrame.dispose();//closes the frame
}}
});
Вывод на текстовый файл
newjavax.swing.JTextArea[,10,10,280x295,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@13e59af,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0],disabledTextColor=javax.swing.plaf.ColorUIResource[r=218,g=218,b=218],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=134,g=108,b=186],colums=0,columWidth=0,rows=0,rowHeight=0,word=true,wrap=true]