Ajuda com JCombobox e Objetos ! [Resolvido]

7 respostas
thiago_spdvr

Bom dia pessoal !
Estou precisando de jogar uma lista de objetos para um combobox, mas mostrar um item somente, e depois poder recuperar o objeto selecionado para incluir o código do item selecionado no banco.
Ví alguns tópicos no forum falando sobre, mas não consegui resolver o problema.
Segue o código:

private void buscaDesp(){
    //Despesa desp = new Despesa();
    List<Despesa> despesa = new ArrayList();
    despesa = Despesa.GetDespesas("%");
    if (despesa.size()!=0){
        for(int i=0; i<despesa.size();i++){
            //desp = despesa.get(i);
            cmb_despesa.addItem(despesa.get(i));
        }
    }
}

Método da classe Despesa, onde faço a busca e retorno um array de objetos:

public static List<Despesa> GetDespesas2(){
        try{
            Connection conn = Conexao.Conectar();
            String sql = "select decr_despesa from tb_despesa";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            ArrayList<Despesa> despesas  = new ArrayList();
            while(rs.next()){
                Despesa desp = new Despesa();
                //desp.setCod_desp(rs.getInt("id_despesa"));
                desp.setDescr_desp(rs.getString(1));
                despesas.add(desp);
            }
            return despesas;
        }
        catch(Exception err){
            JOptionPane.showMessageDialog(null, "Erro ao consultar despesas: "+err);
            return null;
        }
    }

Feliz Ano Novo a todos !

7 Respostas

ViniGodoy

Ok, e qual é o problema?

thiago_spdvr

conforme está o código eu não consigo mostrar o valor do objeto e sim o objeto em sí.

M

Sobreescreva o método toString do objeto, retornando a representação desejada, que deve resolver.

thiago_spdvr

É justo isso que eu não entendi. Tentei sobrescrever na minha classe View, mas não deu certo. Poderia me dar um exemplo aproveitando meu código ?

ViniGodoy

Na sua classe Despesa:

public class Despesa {

   //Resto da implementação da classe aqui

   @Override
   public toString() {
      return getDescr_desp();
   }
}
thiago_spdvr

Valeu pessoal, problema resolvido !!

THIAGOANALISTA

Coloca o código corrigido, assim vc pode ajudar alguém com a mesma dúvida.

Criado 30 de dezembro de 2009
Ultima resposta 28 de set. de 2010
Respostas 7
Participantes 4