Jcombobox

Pessoal to com problema , quando estou retornando uma lista de items do banco e exibindo na combo , mas ele nao ta exibindo o q esta no banco e sim o espaco em memoria ocupado.

ja usei o toString mas nao ta funcionando

Olhem meu codigo


ControladorImagem c = new ControladorImagem();
        ArrayList item = c.carregaInstituicao();
        int tamanho = item.size();
        for(int i=0; i< item.size();i++){
           cbInstituicaoImagem.addItem(item.get(i).toString());

mas pra isso vc nao deveria sobrescrever o toString() na sua classe nao?

public class Cliente {

     int cod;
     String nome;
     Date nascimento;

     ...

     @Override
     public String toString() {
          return this.nome;
     }


}

ai qdo vc criar um objeto to tipo cliente, setar os attributos com o q veio do banco e addicionar ele na combo, ou table sei la…

comboClientes.add(refClientes);

o q vai ficar visivel na combo vai ser so o nome :wink:

É o que o colega acima disse, vc tem de sobrescrever o “toString” do seu objeto que está na coleção.

No caso do objeto já ser um String, então invés de usar o “toString()” use um cast. Tipo isto:

cbInstituicaoImagem.addItem((String) item.get(i));

Pessoal

do banco eu estou trazendo uma lista com os itens q quero mostrar na combo… ou seja … e uma lista com instituicoes …

olha so no que acessa o banco


public ArrayList carregaInstituicao(){
        Instituicao i ;
        ArrayList listainst = new ArrayList();
        String sql = "select * from instituicao";
        PreparedStatement p;
        try {
            p = getConnection().prepareStatement(sql);
            ResultSet rs = p.executeQuery();
            while(rs.next()){
                i = new Instituicao();
                i.setCodigo(rs.getInt("codigo"));
                i.setDescricao(rs.getString("nome"));
                listainst.add(i);
            }
            rs.close();
            
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        
        return listainst;
    }

e pego essa lista na tela ,
mas quando uso o toString nao ta funcionando