Ajuda com ENUM e JComboBox

Olá pessoal sou novo aqui no forum e estou com um probleminha no sistema que estou desenvolvendo.
Estou querendo listar o meu enum no JComboBox com apenas a descrição, pois cada um dele tem descrição codigo e o nome do enum. Nesse caso so estou conseguindo listar o codigo de cada um deles, mas na verdade eu quero mostrar la no JComboBox a descrição de cada um deles.

Logo Abaixo segue o codigo do meu enum de Estado Civil.

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package Modelo;

/**
*

  • @author Marcelo Aurino
    */
    public enum EstadoCivil {

    SOLTEIRO(1, “Solteiro(a)”),
    CASADO(2, “Casado(a)”),
    DIVORCIADO(3, “Divorciado(a)”),
    OUTRO(4, “Outros”);
    private int codigo;
    private String descricao;

    private EstadoCivil(int codigo, String descricao) {
    this.codigo = codigo;
    this.descricao = descricao;
    }

    public String getDescricao() {
    return descricao;
    }

    public int getCodigo() {
    return codigo;
    }

    public void setCodigo(int codigo) {
    this.codigo = codigo;
    }
    @Override
    public String toString()
    {
    return String.valueOf(codigo);
    }
    }

aqui está o vetor para que o meu JComboBox seja alimentado com os valores do enum.

private Vector getEstadosCivis() {

    Vector<EstadoCivil> v = new Vector();
    
    for (EstadoCivil e : EstadoCivil.values()) {           
        v.add(e);
      
    }
    return v;

}

Só que ele está postando apenas o codigo de cada enum. Mas na verdade eu quero que ele mostre a descrição.

Aqui via a segunda parte, do meu problema que é pegar a seleção desse Jcombobox e automaticamente ver qual é o codigo dela e mostrar o codigo referente a aquela descrição na tela.

Aguardo respostas e desde já agradeço pela atenção e ajuda pessoal

Obrigado

Bom dia, fera…
Cara, o enum também tem o método toString.

Então façamos assim:

[code]
public enum EstadoCivil {

Solteiro(0) {
public String toString() {
return “Solteiro”;
}
},
Casado(1) {
public String toString() {
return “Casado”;
}
}[/code]

… e por aí vai :smiley:

@Override
public String toString()
{
return descricao;
}
} 

Eu ja fiz isso, mas nesse caso eu quero pegar o valor que é passado la no enum e nao que ta no jcombobox, pq se for pelo combobox, eu posso fazer o seguinte, nomedocombobox.getselecteditem().toString(); e assim ele retorna o valor no formato string do jcombobox, eu fiz assim agora, e resolvi o meu problema e na minha classe criei uma string para receber esse valor e setar no banco, ja ta tudo certo aqui. Muito obrigado pela ajuda também.

A ComboBox trabalha com objetos, e não com Strings.

Então, use isso. Ao invés de fazer:

Faça:

E aí você passa a ter todas as propriedades do Estado Civil.