Adicionar Lista em um Jlist [RESOLVIDO]

4 respostas
Maureli

Achei alguns exemplos no aqui no Fórum, mas não estou conseguindo botar em prática.

Eu gostaria de passar minha lista para o Jlist, Mas não sei como fazer?

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        Box box = new Box();
        JDBCListar listar = new JDBCListar();

        //Busca os Clientes do BD
        ArrayList lista = new ArrayList();
        lista = listar.listar(box);

        //Percorre a Lista
        for (Iterator it = lista.iterator(); it.hasNext();) {
           Box object = (Box)it.next();
           //System.out.print(object.getCliente().getNome()+ "\n" + object.getCliente().getEndereco().getRua()+"\n");

            jList1.setToolTipText(object.getId() +""+ object.getCliente().getNome());
        }
       
        
    }

4 Respostas

ViniGodoy

DefaultListModel model = new DefaultListModel(); for (Object obj : listar) { model.add(obj); } jList1.setModel(model);

Seria uma boa suas classes usarem generics, justamente para evitar aquele cast para Box ali.

Para que esse método funcione, é uma boa também que Box implemente o método toString(), retornando o que você quer que apareça na lista.

Note que como a lista é de objetos do tipo Box, e não de Strings, você pode exibir só o nome do cliente, mas ainda terá a informação do id.

Maureli

Vlw Amigo funcionou legal.

Eu queria listar tambem a tabela telefone do banco, aproveitei e botei tudo na mesma lista, poriso não usei Generics.(até porque ainda não entendo muito bem o conceito).
Tem uma forma simples de ordenar essa lista pela Id_box?

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        Box box = new Box();
        JDBCListar listar = new JDBCListar();
        DefaultListModel model = new DefaultListModel();

        //Busca os Clientes do BD
        ArrayList lista = new ArrayList();
        lista = listar.listar(box);

        //Percorre a Lista
        for (Iterator it = lista.iterator(); it.hasNext();) {
           Box object = (Box)it.next();
           //System.out.print(object.getCliente().getNome()+ "\n" + object.getCliente().getEndereco().getRua()+"\n");

            model.addElement("Box: " + object.getId());
            model.addElement("Nome: " + object.getCliente().getNome());
            model.addElement("Telefone: " + object.getCliente().getTelefone().getTelCelular());
            
        }
       jList1.setModel(model);
        
    }
ViniGodoy

Não tão fácil quanto no C#, mas tem sim:

Maureli

Muito bom o tópico. Vou ver se consigo implementar no meu programa.

Valeu mesmo pela força.

Grande Abraço!! :wink:

Criado 23 de fevereiro de 2011
Ultima resposta 24 de fev. de 2011
Respostas 4
Participantes 2