Zrobiłem prostą aplikację, wzorując się na książce komputer świat experta. Aplikacja ta, nie chce odczytać danych z zapisanego pliku. Robię ją w NetBeans. Proszę o pomoc.
Kod aplikacji:
/*
* pliki.java
*/
package pliki;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.io.*;
import javax.swing.*;
public class pliki {
public static void main(String[] args) {
Okno okno=new Okno();
okno.setSize(300,190);
okno.setTitle("Zapis obiektu");
okno.setDefaultCloseOperation(3);
okno.setVisible(true);
}
}
class Okno extends JFrame implements ActionListener{
JTextField pole,pole1,pole2,pole3;
Bron bron;
JTextArea area,area1,area2,area3;
public Okno (){
JPanel panel=new JPanel();
panel.setBackground(new Color(34,145,255));
JLabel etykieta=new JLabel("Nazwa pliku:");
pole=new JTextField(15);
panel.add(etykieta);
panel.add(pole);
JLabel etykieta1=new JLabel("Nazwa broni:");
area=new JTextArea(1,15);
panel.add(etykieta1);
panel.add(area);
JLabel etykieta2=new JLabel("Amunicja:");
area1=new JTextArea(1,15);
panel.add(etykieta2);
panel.add(area1);
JLabel etykieta3=new JLabel("Mozliwość doczepienia akcesoriów (szyna):");
area2=new JTextArea(1,15);
panel.add(etykieta3);
panel.add(area2);
JButton przycisk=new JButton("Zapisz informacje");
JButton przycisk2=new JButton("Odczytaj informacje");
przycisk.addActionListener(this);
przycisk2.addActionListener(this);
panel.add(przycisk);
panel.add(przycisk2);
getContentPane().add(panel);
}
public void actionPerformed(ActionEvent e) {
String nazwa=pole.getText();
String nazwaBroni=area.getText();
String amunicja=area1.getText();
String dodatki=area2.getText();
bron=new Bron(nazwaBroni, amunicja, dodatki);
try{
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(nazwa));
oos.writeObject(bron);
oos.flush();
oos.close();
}
catch (Exception ek){Okno okno=new Okno();
okno.setSize(300,190);
okno.setTitle("BŁĄD!!!!");
okno.setDefaultCloseOperation(3);
okno.setVisible(true);}
try {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(nazwa));
bron=(Bron) ois.readObject();
area.append(bron.getnazwaBroni());
area1.append(bron.getamunicja());
area2.append(bron.getdodatki());
ois.close();
}catch(Exception ek){Okno okno=new Okno();
okno.setSize(300,190);
okno.setTitle("BŁĄD!!!!");
okno.setDefaultCloseOperation(3);
okno.setVisible(true);}
}
}
class Bron implements Serializable {
String nazwaBroni;
String amunicja;
String dodatki;
public Bron(String n,String s,String m){
nazwaBroni=n;
amunicja=s;
dodatki=m;
}
public String getnazwaBroni(){ return nazwaBroni; }
public String getamunicja(){ return amunicja; }
public String getdodatki(){ return dodatki; }
}