Bom dia a todos,
mais uma vez preciso da ajuda de vocês, porém dessa vez é um poquinho mais complicado que antes:
Como vcs já sabem, (eu disse outro dia atrás), sou estudante de EC e estou fazendo um trabalho de conclusão de semestre.
Estou na parte em que tenho que cadastrar clientes e então estou fazendo um teste com umas classes que eu criei.
package pkgTP;
import java.util.ArrayList;
public class Loja {
ArrayList<Cliente> cliente;
ArrayList<Produto> produto;
public Loja(){
cliente = new ArrayList<Cliente>();
produto = new ArrayList<Produto>();
}
public void cadastraCliente(Cliente cli){
cliente.add(cli);
}
public void cadastraProduto(Produto pro){
produto.add(pro);
}
public void excluirCliente(int t){
cliente.remove(t);
}
public void excluirProduto(int t){
produto.remove(t);
}
}
Nessa primeira classe, como vcs podem ver, criei duas ArraysList, uma que ira aceitar clientes e outras que ira aceitar produtos.
Vamos nos preocupar com a que aceita clientes.
A próxima classe, é uma classe de interface, e é ai que não estou conseguindo ligar com a minha classe ArrayList.
Olhem:package pkgTP;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class NewOpitionStore extends JFrame implements ActionListener {
private JLabel lnome, lfone, lcelular, lrua, lcpf, lnumero, lcomplemento, lcidade,
lbairro, lcep, ldata_nascimento;
private JTextField tnome, tfone, tcelular, trua, tcpf, tnumero,
tcomplemento, tcidade, tbairro, tcep, tdata_nascimento;
private JButton bcadastro, blimpar, bconsulta;
public Loja loja = new Loja();
public NewOpitionStore(){
super("NewOptionStore - Cadastro de Clientes");
setSize(400,250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
bcadastro = new JButton("Cadastrar");
blimpar = new JButton("Limpar");
lnome = new JLabel("Nome:");
lrua = new JLabel("Rua:");
lfone = new JLabel("Fone Res:");
lcelular = new JLabel("Cel:");
lcpf = new JLabel("CPF");
lnumero = new JLabel("Numero:");
lcomplemento = new JLabel("Complemento:");
lbairro = new JLabel("Bairro:");
lcidade = new JLabel("Cidade:");
lcep = new JLabel("CEP:");
ldata_nascimento = new JLabel("Data de Nascimento:");
tnome = new JTextField();
trua = new JTextField();
tfone = new JTextField();
tcelular = new JTextField();
tcpf = new JTextField();
tnumero = new JTextField();
tcomplemento = new JTextField();
tbairro = new JTextField();
tcidade = new JTextField();
tcep = new JTextField();
tdata_nascimento = new JTextField();
getContentPane().add(bcadastro);
getContentPane().add(blimpar);
getContentPane().add(tnome);
getContentPane().add(lrua);
getContentPane().add(trua);
getContentPane().add(tfone);
getContentPane().add(tcelular);
getContentPane().add(lnome);
getContentPane().add(lfone);
getContentPane().add(lcelular);
getContentPane().add(lrua);
getContentPane().add(tcpf);
getContentPane().add(tnumero);
getContentPane().add(lnumero);
getContentPane().add(lcomplemento);
getContentPane().add(tcomplemento);
getContentPane().add(tbairro);
getContentPane().add(lbairro);
getContentPane().add(tcep);
getContentPane().add(lcep);
getContentPane().add(tcidade);
getContentPane().add(lcidade);
getContentPane().add(tdata_nascimento);
getContentPane().add(ldata_nascimento);
getContentPane().add(lcpf);
lnome.setBounds (10,20,120,20);
tnome.setBounds (60,20,430,20);
trua.setBounds (60,100,430,20);
lrua.setBounds (10,100,30,20);
tnumero.setBounds (590,100,80,20);
lnumero.setBounds (530,100,120,20);
lbairro.setBounds (10,130,50,20);
tbairro.setBounds (60,130,130,20);
lcomplemento.setBounds(220,130,190,20);
tcomplemento.setBounds(310,130,60,20);
lcidade.setBounds (10,160,60,20);
tcidade.setBounds (60,160,120,20);
lcep.setBounds (200,160,120,20);
tcep.setBounds (240,160,120,20);
tfone.setBounds (70,210,100,20);
lfone.setBounds (10,210,100,20);
tcelular.setBounds (240,210,100,20);
lcelular.setBounds (200,210,100,20);
lcpf.setBounds (10,240,120,20);
tcpf.setBounds (60,240,100,20);
ldata_nascimento.setBounds(200,240,120,20);
tdata_nascimento.setBounds(330,240,120,20);
bcadastro.setBounds (90,280,120,20);
blimpar.setBounds (230,280,120,20);
bcadastro.addActionListener(this);
}
public void actionPerformed(ActionEvent action){
if(action.getSource()== bcadastro){
Cliente cli = new Cliente();
cli.setNome(lnome.getText());
cli.setEndereco(new Endereco(trua.getText(), tbairro.getText(), tcidade.getText(), tcomplemento.getText(),
tcep.getText(), Integer.parseInt(tnumero.getText())));
cli.setCpf(tcpf.getText());
cli.setFone(tfone.getText());
//loja.cadastraCliente(cli);
}
}
}
Se vcs executarem, a interface que eu criei fica certinha. Implementei a classe com um ActionListener, e
coloquei uma escuta no botão cadastro. Acho que o erro está na implementação da escuta.
Eu criei uma Loja, para que quando o botão cadastro fosse acionado, ele pudesse enviar um Objeto do Tipo Cliente, no meu caso cli, para o método
cadastrarCliente da classe loja. Porém alguma coisa não está dando certo, e não quer cadastrar.
Portanto queria saber se essa implementação que eu estou fazendo está errada.
Ou se vcs conseguem achar o erro.
Qualquer dúvida, postem aqui.
Grato.
Pablo