fala galera, preciso pesquisar em uma arraylist, mas não entra no for, pensei em usar o foreach mas não sei como…
alguem pode me ajudar… abraços a todos
public class Cliente {
private int codigo;
private String nome;
private String cpf;
private String endereco;
private int numero;
private String complemento;
private String bairro;
private int codigoDaCidade;
private String cep;
private String data_Nascimento;
private String telefone;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public int getCodigoDaCidade() {
return codigoDaCidade;
}
public void setCodigoDaCidade(int codigoDaCidade) {
this.codigoDaCidade = codigoDaCidade;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getData_Nascimento() {
return data_Nascimento;
}
public void setData_Nascimento(String data_Nascimento) {
this.data_Nascimento = data_Nascimento;
}
}
public class Tela extends JFrame implements ActionListener, TableModelListener{
private static final long serialVersionUID = 1L;
private JButton btSalvar, btAlterar, btExcluir, btLimpar, btListar, btBuscar;
private JTextField txNome, txEndereco, txNumero, txBairro,txComplemento, txTelefone,
txDtNas, txCpf, txBuscar, txCodigo, txCodigoDaCidade, txCEP;
private JPanel pnNorte, pnCentral, pnSul;
private JLabel lbNome, lbEndereco, lbNumero, lbBairro, lbTelefone,lbExData,
lbDtNas, lbCpf, lbBuscar, lbBuscarNome, lbCep, lbCodigo, lbCodigoCidade, lbComplemento;
MaskFormatter formatoData, formatoTelefone, formatoTelefone1, formatoCpf, formatoCEP;
private JTable tabela;
private ClienteTableModel modelo;
private ArrayList<Cliente> listaClientes = new ArrayList<>();
public Tela (){
setTitle(" Cadastro ");
setSize(550, 500);
// PAINEL NORTE DA TELA
pnNorte = new JPanel();
pnNorte.setLayout(null);
pnNorte.setBounds(0,0, 820, 160);
pnNorte.setBackground(Color.LIGHT_GRAY);
// PAINEL SUL DA TELA
pnSul = new JPanel();
pnSul.setLayout(new BorderLayout());
pnSul.setBounds(0, 360, 820, 200);
pnSul.setBackground(Color.LIGHT_GRAY);
// PAINEL CENTRAL DA TELA
pnCentral = new JPanel();
pnCentral.setLayout(null);
pnCentral.setBackground(Color.LIGHT_GRAY);
// CONSTROI AS JLABEL DA TELA
lbNome = new JLabel(" Nome do cliente ");
lbNome.setBounds(10, 0, 130, 30);
lbCodigo = new JLabel(" Codigo ");
lbCodigo.setBounds(430, 0, 130, 30);
lbCep = new JLabel(" CEP ");
lbCep.setBounds(430, 50 , 130, 30);
lbDtNas = new JLabel(" Data Nascimento ");
lbDtNas.setBounds(180, 50, 130, 30);
lbExData = new JLabel(" DD/MM/AAAA ");
lbExData.setBounds(270, 75, 130, 30);
lbCpf = new JLabel(" CPF ");
lbCpf.setBounds(10, 50, 130, 30);
lbEndereco = new JLabel(" Endereço ");
lbEndereco.setBounds(10, 100, 130, 30);
lbNumero = new JLabel(" Número ");
lbNumero.setBounds(430, 100, 130, 30);
lbBairro = new JLabel(" Bairro ");
lbBairro.setBounds(220, 150, 130, 30);
lbComplemento = new JLabel(" Complemento ");
lbComplemento.setBounds(10, 150, 130, 30);
lbCodigoCidade = new JLabel(" Código da cidade ");
lbCodigoCidade.setBounds(10, 200, 130, 30);
lbTelefone = new JLabel(" Telefone ");
lbTelefone.setBounds(220, 200, 130, 30);
lbBuscar = new JLabel(" Pesquisar ");
lbBuscar.setBounds(360, 310, 150, 30);
lbBuscarNome = new JLabel(" Localizar por nome ");
lbBuscarNome.setBounds(10, 305, 150, 30);
lbExData.setFont(new Font("Courier New", Font.ITALIC, 12));
lbExData.setForeground(Color.RED);
// ADICIONA AS JLABEL NA TELA
pnNorte.add(lbNome);
pnNorte.add(lbCodigo);
pnNorte.add(lbCpf);
pnNorte.add(lbEndereco);
pnNorte.add(lbDtNas);
pnNorte.add(lbExData);
pnNorte.add(lbNumero);
pnNorte.add(lbCep);
pnCentral.add(lbBairro);
pnCentral.add(lbComplemento);
pnCentral.add(lbCodigoCidade);
pnCentral.add(lbTelefone);
pnCentral.add(lbBuscarNome);
try{
// PERSONALIZA O CAMPO DE DATA
formatoData = new MaskFormatter("## / ## / #### ");
formatoData.setPlaceholderCharacter('_');
// PERSONALIZA O CAMPO TELEFONE
formatoTelefone = new MaskFormatter(" ( ## )#### - #### ");
formatoTelefone.setPlaceholderCharacter('_');
//PERSONALIZA O CAMPO CPF
formatoCpf = new MaskFormatter("### . ### . ### - ##");
formatoCpf.setPlaceholderCharacter('_');
//PERSONALIZA O CAMPO CEP
formatoCEP = new MaskFormatter("##### - ### ");
formatoCEP.setPlaceholderCharacter('_');
}catch (Exception e) {
e.printStackTrace();
}
// CONTROI AS TEXTFIELD DA TELA
txNome = new JTextField();
txNome.setBounds(10, 30, 370, 20);
txCodigo = new JTextField();
txCodigo.setBounds(430, 30, 100, 20);
txCpf = new JFormattedTextField(formatoCpf);
txCpf.setBounds(10, 80, 120, 20);
txEndereco = new JTextField();
txEndereco.setBounds(10, 130, 370, 20);
txNumero = new JTextField();
txNumero.setBounds(430, 130, 100, 20);
txDtNas = new JFormattedTextField(formatoData);
txDtNas.setBounds(180, 80, 90, 20);
txCEP = new JFormattedTextField(formatoCEP);
txCEP.setBounds(430, 80, 100, 20);
txBairro= new JTextField();
txBairro.setBounds(220, 180, 280, 20);
txComplemento = new JTextField();
txComplemento.setBounds(10, 180, 150, 20);
txTelefone = new JFormattedTextField(formatoTelefone);
txTelefone.setBounds(200, 230, 120, 20);
txCodigoDaCidade = new JTextField();
txCodigoDaCidade.setBounds(10, 230, 100, 20);
txBuscar = new JTextField();
txBuscar.setBounds(130, 310, 295, 20);
// ADICIONA OS TEXTFIELD NA TELA
pnNorte.add(txNome);
pnNorte.add(txCodigo);
pnNorte.add(txEndereco);
pnNorte.add(txCpf);
pnNorte.add(txNumero);
pnCentral.add(txDtNas);
pnCentral.add(txCEP);
pnCentral.add(txBairro);
pnCentral.add(txTelefone);
pnCentral.add(txCodigoDaCidade);
pnCentral.add(txBuscar);
pnCentral.add(txComplemento);
// CONSTROI OS BOTÕES DA TELA
btSalvar = new JButton(" Salvar ");
btSalvar.setBounds(10, 270, 100, 25);
btExcluir = new JButton(" Excluir ");
btExcluir.setBounds(115, 270, 100, 25);
btAlterar = new JButton(" Alterar ");
btAlterar.setBounds(220, 270, 100, 25);
btLimpar = new JButton(" Limpar ");
btLimpar.setBounds(325, 270, 100, 25);
btListar = new JButton(" Listar ");
btListar.setBounds(430, 270, 100, 25);
btBuscar = new JButton(" Buscar ");
btBuscar.setBounds(430, 307, 100, 25);
// ADICIONA OS BOTÕES NA TELA
pnCentral.add(btSalvar);
pnCentral.add(btAlterar);
pnCentral.add(btLimpar);
pnCentral.add(btListar);
pnCentral.add(btBuscar);
pnCentral.add(btExcluir);
// ADICIONA OS PAINEIS NA FRAME
getContentPane().add(pnNorte);
getContentPane().add(pnSul);
getContentPane().add(pnCentral);
// COLOCA A JTABLE NA TELA
modelo = new ClienteTableModel();
modelo.addTableModelListener(this);
tabela = new JTable();
tabela.setModel(modelo);
tabela.setPreferredScrollableViewportSize(new Dimension(300, 300));
tabela.setFillsViewportHeight(true);
JScrollPane scrollPane = new JScrollPane(tabela);
pnSul.add(scrollPane);
// FIM DA JTABLE
// EVENTOS DOS BOTÕES DA TELA
btSalvar.addActionListener(this);
btBuscar.addActionListener(this);
btExcluir.addActionListener(this);
btAlterar.addActionListener(this);
btListar.addActionListener(this);
}
public void insereClientes(){
try {
Cliente c = new Cliente();
int codigo = Integer.parseInt(txCodigo.getText());
int numero = Integer.parseInt(txNumero.getText());
int codigoCidade = Integer.parseInt(txCodigoDaCidade.getText());
c.setCodigo(codigo);
c.setNome(txNome.getText());
c.setCpf(txCpf.getText());
c.setTelefone(txTelefone.getText());
c.setEndereco(txEndereco.getText());
c.setNumero(numero);
c.setComplemento(txComplemento.getText());
c.setBairro(txBairro.getText());
c.setCodigoDaCidade(codigoCidade);
c.setCep(txCEP.getText());
c.setData_Nascimento(txDtNas.getText());
c.setTelefone(txTelefone.getText());
JOptionPane.showMessageDialog(null," Inserido com sucesso!!! ");
}
catch(Exception e){
JOptionPane.showMessageDialog(null," Primeiro forneça os dados do cliente!!! ");
}
}
public void buscaPorNome(){
for (int i=0; i< listaClientes.size(); i++){
if (listaClientes.get(i).getNome().equals(txBuscar.getText())){
System.out.println(listaClientes.get(i));
}
else
JOptionPane.showMessageDialog(null," Cliente não localizado!!! ");
}
}
public void removeCliente(){
for (int i= 0; i<listaClientes.size(); i++){
if (listaClientes.get(i).getNome().equals(txBuscar.getText())){
listaClientes.remove(i);
JOptionPane.showMessageDialog(null," Removido com sucesso!!! ");
}
else
JOptionPane.showMessageDialog(null," Erro ao remover!!! ");
}
}
public void actionPerformed(ActionEvent a) {
if (a.getSource()==btSalvar){
insereClientes();
}
else if (a.getSource()== btAlterar){
}
else if (a.getSource()== btBuscar){
buscaPorNome();
}
else if (a.getSource()== btExcluir){
removeCliente();
}
else if (a.getSource()== btLimpar){
}
else if (a.getSource()== btListar){
modelo.addListaDeCliente(listaClientes);
}
}
public static void main(String[] args) {
Tela tela = new Tela();
tela.setVisible(true);
tela.setLocationRelativeTo(null);
tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void tableChanged(TableModelEvent arg0) {
// TODO Auto-generated method stub
}
}