Witam,
Próbuje stworzyć program, pozwalający stworzyć i edytować listę gości. Mam jednak problem z zapisywaniem tej listy, otóż printwriter wymaga statycznej listy, a wiadomo, że lista powinna być dynamiczna. W wyniku tego zapisuję się w pliku tylko " [] " . Ma ktoś jakiś pomysł? ;) Dzięki
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import java.util.List;
import java.util.LinkedList;
import java.util.Scanner;
public class swing extends JFrame implements ActionListener{
List<String> lista = new LinkedList<String>();
JButton dodaj, usun, wyswietl;
JRadioButton radio;
JFrame dodano, niedodano;
JTextField pole;
public swing(){
setSize(500,500);
setTitle("Lista gości");
dodaj = new JButton();
dodaj.setText("Dodaj");
setLayout(null);
dodaj.setBounds(50, 300, 100, 100);
add(dodaj);
dodaj.addActionListener(this);
usun = new JButton();
usun.setText("Usuń");
setLayout(null);
usun.setBounds(200,300,100,100);
add(usun);
usun.addActionListener(this);
wyswietl = new JButton();
wyswietl.setText("Wyświetl");
setLayout(null);
wyswietl.setBounds(350,300,100,100);
add(wyswietl);
wyswietl.addActionListener(this);
radio = new JRadioButton();
radio.setText("Osoba towrzysząca");
radio.setBounds(300, 250, 200, 20);
add(radio);
pole = new JTextField();
pole.setBounds(50, 50, 300,50);
add(pole);
pole.addActionListener(this);
}
public static void main(String[] args) throws FileNotFoundException {
swing okienko = new swing();
okienko.setVisible(true);
zapis();
}
public void actionPerformed(ActionEvent e) {
Object źródło = e.getSource();
if(źródło==dodaj){
lista.add(pole.getText());
}
else if(źródło==usun){
lista.remove(pole.getText());
}
if(źródło==wyswietl){
//Scanner odczyt = new Scanner(new File("lista.txt"));
//odczyt.close();
}
}
public static void zapis() throws FileNotFoundException{
PrintWriter zapis = new PrintWriter("lista.doc");
zapis.print(lista); // cannot make a static reference to the non-static field lista
zapis.close();
}
}