Como fazer ComboBox mostrar item de um objeto? [Resolvido]

Boa tarde a todos!!!

Galera, minha dúvida é a seguinte:
Preenchi meu comboBox com objetos assim como mostra o post abaixo:

Porém não estou conseguindo fazer com que ele exiba apenas o nome, ocultando a referência de objeto:
Meu codigo:

public void carregaComboModelos() throws ClassNotFoundException {
        VeiculoControl v = new VeiculoControl();
        ArrayList<ModeloVeiculo> modelos = new ArrayList<ModeloVeiculo>(v.pegaModelos());
        
        for (ModeloVeiculo m : modelos) {
           comboModelo.addItem(m);  /*detalhe - comboModelo é o nome de meu obj swing
          
        }
        
    }

Observem que populei todo o combo, mas quero que ele mostre apenas a descrição dos modelos.
No post que me referi acima, o “paulojoinha” diz que é preciso usar um toString() para que isso aconteça, mas como faço?

Grato!

na classe ModeloVeiculo vc vai reescrever o metodo toString, tipo assim:

public String toString(){
   return "Aqui vc poe oq vc quer q aparece o combobox";
}

simples assim!

Otimo amigo, funcionou… Obrigado!

Porém agora surgiu outro problema ao extrair a informação “id” deste meu objeto:

ModeloVeiculo m = (ModeloVeiculo)comboModelo.getSelectedItem();
            int idModelo=m.getId(); //Onde id é um atributo do tipo inteiro, mais precisamente esta armazenando um valor de chave

erro:
[color=darkred]Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.lang.String cannot be cast to br.trab.estacionamento.bean.ModeloVeiculo[/color]

Esta é minha classe ModeloVeiculo

public class ModeloVeiculo {
    private int id;
    private String modelo;

    public ModeloVeiculo(){
        
    }
    public ModeloVeiculo(int id, String modelo) {
        this.id = id;
        this.modelo = modelo;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getModelo() {
        return modelo;
    }

    public void setModelo(String modelo) {
        this.modelo = modelo;
    }
    public String toString(){
        return this.modelo;
    }

}

Alguma ideia que sera agora?

acontece que quando vc usa o metodo getSelectedItem() ele esta trazendo uma string e nao o objeto ModeloVeiculo, assim ele da erro prq nao consegue dar o cast entende???

acredito que a sua implementacao do modelo do JList esteja errada, poste o codigo da classe toda pra mim ver.

Correto amigo…
Não percebi, mas o metodo toString criado dentro de minha classe ModeloVeiculo retorna automatico.
tinha feito assim:

comboModelo.addItem(m.toString());

//agora corrigido para:

comboModelo.addItem(m);

Muito obrigado mesmo Mauricio. Problema solucionado!!!

Bom dia a todos…
Pessoal, sei que ja setei o topico como resolvido, porém surgiu uma outra dúvida com relação ao assunto acima.
É possível fazer o mesmo em um jTextField? Algo do tipo jTextField1.set???(m);
Tentei aqui de várias forma e não consegui.

no caso do JTextField vc vai usar o metodo setText(String)