Bom dia, sou novo em java e estou apanhando muito.
Fiz um programa para gravar clientes em um txt., ele grava corretamente mas quando clico em listar os clientes(para ler os clientes gravados no txt e exibi-los na tela) o programa da erro.
[code]public class Janela extends JFrame implements ActionListener{
private JTextField campo1,campo2,campo3;
private JLabel texto1, texto2, texto3, texto4, texto5, texto6, texto7;
private JButton b1;
private JButton b2;
private JButton b3;
private JComboBox combo,combo1,combo2;
String genero[] = {"", "Masculino","Feminino"};
String EstadoCivil[]={"", "Solteiro", "Casado",
"Divorciado", "Viuvo", "Outros" };
String contato[] = {"", "Familiar", "Amigo", "Conhecido", "Outros"};
public Janela() {
super("Cadastro de Clientes");
Container c = getContentPane();
c.setLayout(new BorderLayout());
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(0, 2, 5, 5));
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu jMenuArquivo = new JMenu("Arquivo");
menuBar.add(jMenuArquivo);
JMenuItem jMenuCadastrar = new JMenuItem("Cadastrar Clientes");
jMenuArquivo.add(jMenuCadastrar);
JMenuItem jMenuListar = new JMenuItem("Listar Clientes");
jMenuArquivo.add(jMenuListar);
combo = new JComboBox(genero);
combo1 = new JComboBox(EstadoCivil);
combo2 = new JComboBox(contato);
texto1 = new JLabel("Nome:");
campo1 = new JTextField(30);
texto2 = new JLabel("Idade:");
campo2 = new JTextField(30);
texto5 = new JLabel("Contato:");
texto6 = new JLabel("Estado Civil:");
texto7 = new JLabel("Sexo:");
b1 = new JButton("Novo");
b2 = new JButton("Gravar");
b3 = new JButton("Cancelar");
p1.add(texto1);
p1.add(campo1);
p1.add(texto7);
p1.add(combo);
p1.add(texto2);
p1.add(campo2);
p1.add(texto5);
p1.add(combo2);
p1.add(texto6);
p1.add(combo1);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
campo1.addActionListener(this);
campo2.addActionListener(this);
jMenuListar.addActionListener(this);
jMenuCadastrar.addActionListener(this);
c.add("North", p1);
c.add("West", b1);
c.add("Center", b2);
c.add("East", b3);
pack();
setVisible(true);}
@Override
public void actionPerformed(ActionEvent evento) {
if ((evento.getSource() == b1)){
campo1.setText("");
campo2.setText("");
combo.setSelectedItem("");
combo1.setSelectedItem("");
combo2.setSelectedItem("");
}
if ((evento.getSource() == b2)){
try{
File arquivo = new File("C:\\Users\\HOME\\Desktop\\banco.txt");
FileOutputStream fOut = new FileOutputStream(arquivo);
ObjectOutputStream objOut = new ObjectOutputStream(fOut);
ArrayList<cliente> c = new ArrayList<cliente>();
String nome = campo1.getText();
String sexo = combo.getSelectedItem().toString();
int idade = Integer.parseInt(campo2.getText());
String contato = combo2.getSelectedItem().toString();
String estadocivil = combo1.getSelectedItem().toString();
cliente c1 = new cliente();
c1.setNome(nome);
c1.setSexo(sexo);
c1.setIdade(idade);
c1.setContatos(contato);
c1.setEstadocivil(estadocivil);
c.add(c1);
for (int i = 0; i < c.size(); i++) {
objOut.writeObject(c.get(i).mostraCliente()+System.getProperty ("line.separator"));
}
objOut.close();
fOut.close();
}
catch(Exception e){
System.out.println("Erro");
}
}
if ((evento.getSource() == b3)){
System.exit(0);
}
if ("Cadastrar Clientes".equals(evento.getActionCommand())) {
Janela i = new Janela();
i.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent fecharJanela){
System.exit(0);}});}
if (“Listar Clientes”.equals(evento.getActionCommand())) {
Deserializador d = new Deserializador();
ArrayList<cliente> c = null;
try {
ArrayList<cliente> c1 = (ArrayList<cliente>) d.deserializar("C:\\Users\\HOME\\Desktop\\banco.txt");
} catch (Exception ex) {
System.err.println("Falha ao deserializar! - " + ex.toString());
}
int i = 0;
System.out.println(c.get(i).mostraCliente());
}
}}
[/code]
Alguém poderia me ajudar??