Consulta com arraylist

14 respostas
lucasmartins
Eu salvo objetos em uma arraylist:
public Cadastro_Cliente() {
        initComponents();
    }
    public static ArrayList lista = new ArrayList();

    public void limpacampos(){
        c_id.setText("");
        c_nome.setText("");
        c_telefone.setText("");
        c_endereco.setText("");
        c_CPF.setText("");
        c_RG.setText("");
        c_cep.setText("");
        c_cidade.setText("");
    }
private void b_salvarActionPerformed(java.awt.event.ActionEvent evt) {                                         

if((c_id.getText().equals(""))&&(c_nome.getText().equals(""))){
    JOptionPane.showMessageDialog(null,"Erro, informe o Id e o Código pelomenos");
    //Verifica se pelomenos o nome e a id estão preenchidos
    limpacampos();
    c_id.grabFocus();
}else{
    Cliente Cli = new Cliente();
    Cli.ID=((Integer.parseInt(c_id.getText())));//Converte String do campo c_ID para Inteiro (int)
    Cli.nome=(c_nome.getText());
    Cli.end=(c_endereco.getText());
    Cli.tel=(c_telefone.getText());
    Cli.cidade=(c_cidade.getText());
    Cli.cep=(c_cep.getText());
    Cli.uf=(combo_UF.toString());
    Cli.rg=(c_RG.getText());
    Cli.cpf=(c_CPF.getText());

        lista.add(Cli);//adiciona a lista
            limpacampos();
            c_id.grabFocus();

}



    }

Como faço para consultar os clientes cadastrados atraves de outro formulario (classe) e exibir os dados em uma jTable?

14 Respostas

discorpio

Boa tarde Lucas Martins.

Para consultar em um ArrayList, voce primeiro precisa fazer o casting para a tipo de classe Cliente e tem que usar a classe Iterator para isto.

Dê uma olhada neste link

http://www.guj.com.br/posts/list/208256.java

rdgms

Use Generic… evite o cast…

Collection <Cliente> listaCliente = new ArrayList<Cliente>();

Abraço!

discorpio

rdgms:
Use Generic… evite o cast…

Collection <Cliente> listaCliente = new ArrayList<Cliente>();

Abraço!

Sinceramente, não entendi :!:

O código acima que passaste, faz o casting, o seja, voce está delineando que o tipo de cada Objeto do ArrayList será da Classe Cliente, e isto nada mais é que fazer o casting, ou seja, fazer a conversão para o tipo da classe Cliente.

FieroddPJ

Utilizando uma collection tipada vc garante que os objetos inseridos e removidos dela sejam do tipo especificado, no caso Cliente, em tempo de compilação, isso não é casting!

discorpio

Boa noite FieroddPJ.

Me esclarece uma coisa da qual estou em dúvida.

Collection é uma Interface ou Classe Abstrata :?: :?: :?:

Se for Interface, então justifica o que voce disse, e retiro o que disse no meu post anterior.

Caso seja uma Classe Abstrata, então eu mantenho o meu post anterior.

lucasmartins

Disculpe a ignorancia, mas, eu faço esse casting na hr de criar a arraylist?
Ou seja faço o casting ao invés de isto:

public ArrayList lista = new ArrayList();

Obrigado.

lucasmartins

Na verdade o problema é que eu não consigo acessar essa lista atraves da minha classe ConsultaClientes :S

for(Cliente Cli : listaCliente) {
        if(Cli.getNome().equals(c_consulta.getName())); {

        }  
    }
lucasmartins

Up

lucasmartins

Não estou conseguindo!
preciso entregar esse trabalho hj :open_mouth:

T

discorpio:
Boa noite FieroddPJ.

Me esclarece uma coisa da qual estou em dúvida.

Collection é uma Interface ou Classe Abstrata :?: :?: :?:

Se for Interface, então justifica o que voce disse, e retiro o que disse no meu post anterior.

Caso seja uma Classe Abstrata, então eu mantenho o meu post anterior.

java.util
Interface Collection<E>

lucasmartins

Eu nun intindi :S

java.util
Interface Collection?

lucasmartins

Alguém ai?

aajjbb

sim, realmente Collections é uma interface, e tambem, você usa o generics quando cria a arrayList, nao é muito bem um cast, voce so esta dizendo que aquela ArrayList so aceita objetos do tipo Contato, se você colocar algo nela que nao for um Contato, isso dara um erro de compilação

Tiago_Farias

Oi Lucas,

tb não sei se entendi bem oq vc queria, mas no caso, pra vc acessar uma lista static em outra classe, vc tem q se referir a ela como NomeClasse.atributo. No seu caso, assim:

Cadastro_Cliente.lista;

É isso q eu entendi?

Criado 13 de junho de 2010
Ultima resposta 14 de jun. de 2010
Respostas 14
Participantes 7