Capturar dados do JComboBox

Bom dia pessoal.
Tenho um jcombo que é alimentado da seguinte forma.
EntityManager manager = Util.getManager();
manager.getTransaction().begin();
DefaultComboBoxModel comboModel = (DefaultComboBoxModel) jcomboCategoria.getModel();
comboModel.removeAllElements();
List categorias = manager.createQuery(“select cat from Categoria cat order by cat.descricao”, Categoria.class).getResultList();

    for(Categoria c : categorias){
       comboModel.addElement(c.getDescricao() + " " + c.getIdCategoria());
    } 

Estou tentando captura o id da categoria da seguinte forma mas não funciona de forma alguma.
O que posso fazer para conseguir pegar o id da categoria. Não sei , mas acho que a forma que estou alimentando o jcombobox está errada.

Forma que estou utitilizando para pegar o idCategoria mas não esta dando certo.

 Categoria categoria = (Categoria)jcomboCategoria.getSelectedItem();
JOptionPane.showMessageDialog(null,Integer.parseInt(categoria.getIdCategoria().toString()));

Olá, sua abordagem aparenta estar incorreta, pois vc adiciona Strings ao combo e depois está tentando pegar uma Categoria, sem lógica.
O ideal é adicionar sua lista de objetos (não String) e depois sim vc consegue capturar o objeto selecionado como estás tentando fazer. Seguem alguns links com exemplos:


Tive a mesma dúvida que você, está documentada aqui: ArrayList, Classe de objetos ou whiles do resultset

boa tarde a todos. A nível de compartilhamento a solução do problema foi a seguinte.

EntityManager manager = Util.getManager();
manager.getTransaction().begin();
//assim como é feito numa JTable, temos o DefaultComboBoxModel que é o model do JComboBox
DefaultComboBoxModel comboModel = (DefaultComboBoxModel) jcomboCategoria.getModel();
//removendo todos os elementos do combo
comboModel.removeAllElements();
List categorias = manager.createQuery(“select cat from Categoria cat order by cat.descricao”, Categoria.class).getResultList();

Para alimentar o JComboBox utilizar a instrução abaixo

for (Categoria c : categorias) {
comboModel.addElement©;

    }

    Categoria c = (Categoria) jcomboCategoria.getSelectedItem();