Próbuje napisać aplikację, w której wprowadzałoby się różne wydarzenia, one zapisywałyby się do pliku, a program je odczytywał i przypominał o nich. Niestety nie działa mi zapis do pliku za pomocą klasy **FileWriter**
Oto kod:
package Calendar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class EventCreatePanel extends JPanel implements ActionListener{
private static final long serialVersionUID = 1L;
private JTextField name;
private JTextField day, month, year;
private JTextField nameP, dayP, monthP, yearP;
private JButton ok;
public EventCreatePanel(){
name = new JTextField();
name.setBounds(90, 30, 100, 40);
day = new JTextField();
day.setBounds(90, 100, 100, 40);
month = new JTextField();
month.setBounds(90, 170, 100, 40);
year = new JTextField();
year.setBounds(90, 240, 100, 40);
nameP = new JTextField("Name");
nameP.setEditable(false);
nameP.setBounds(15, 30, 60, 40);
dayP = new JTextField("Day");
dayP.setEditable(false);
dayP.setBounds(15, 100, 60, 40);
monthP = new JTextField("Month");
monthP.setEditable(false);
monthP.setBounds(15, 170, 60, 40);
yearP = new JTextField("Year");
yearP.setEditable(false);
yearP.setBounds(15, 240, 60, 40);
ok = new JButton("OK");
ok.setBounds(65, 300, 70, 40);
ok.addActionListener(this);
add(name);
add(day);
add(month);
add(year);
add(nameP);
add(dayP);
add(monthP);
add(yearP);
add(ok);
setLayout(null);
}
@Override
public void actionPerformed(ActionEvent e){
if (e.getSource() == ok){
try{
FileWriter fw = new FileWriter("events.txt", true);
fw.write(name.getText() + " ");
fw.write(Integer.parseInt(day.getText()) + " ");
fw.write(Integer.parseInt(month.getText()) + " ");
fw.write(Integer.parseInt(year.getText()) + "\n");
System.out.println("Zapisano");
System.out.println(name.getText() + " ");
System.out.println(Integer.parseInt(day.getText()) + " ");
System.out.println(Integer.parseInt(month.getText()) + " ");
System.out.println(Integer.parseInt(year.getText()) + " ");
fw.close();
} catch (NumberFormatException e1){
System.out.println("Program nie działa.");
} catch (IOException e1){
System.out.println("Program nie działa.");
}
CalendarPanel.events.add(new Event(name.getText(), Integer.parseInt(day.getText()), Integer.parseInt(month
.getText()), Integer.parseInt(year.getText())));
CalendarPanel.eve = new JScrollPane(new JList<Event>(CalendarPanel.table()));
CalendarPanel.eve.updateUI();
repaint();
System.out.println("OK");
}
}
}
Z góry dziękuję za pomoc.