Jcombobox e select

Pessoal estou acostumado a trabalhar com interfaces web partindo pro swing estou com a seguinte dúvida:

Em um campo select o valor que aquele campo retorna pode ser diferente do valor que é exibido na lista. Existe alguma forma de fazer o mesmo no jcombobox?

Exemplo:

Seleciono o sexo Masculino no jComboBox mas na verdade ele retornar M quando pedir o valor?

você quer que no combo apareça: Masculino, mas no getSelectedItem retorno apenas M?

Isso. Exatamente!

Vc vai ter q criar um ItemRenderer para pode colocar mais de um objeto dentro de um jcombobox

import javax.swing.JList;
import javax.swing.plaf.basic.BasicComboBoxRenderer;

/**
 *
 * @author cristiano.modesto.ex
 */
public class ItemRenderer extends BasicComboBoxRenderer {

    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);

        if (value != null) {
            Item item = (Item) value;
            setText(item.getDescription().toUpperCase());
        }
        return this;
    }
}



/**
 *
 * @author cristiano.modesto.ex
 */
public class Item {
    

    private String id;
    private String description;
    private Object obj;
    public Item(String id, String description,Object obj) {
        this.id = id;
        this.description = description;
        this.obj = obj;
    }
    public Object getObject(){
        return obj;
    }
    public String getId() {
        return id;
    }

    public String getDescription() {
        return description;
    }

    public String toString() {
        return description;
    }
}
 jComboBox1.removeAllItems();
        jComboBox1.updateUI();

        Iterator iter = lista.listIterator();

        jComboBox1.addItem(new Item("1", "XXXX", null);
 Object obj = new Object();
        while (iter.hasNext()) {
             obj = (Objeto) iter.next();
            String id = Integer.toString(obj.getProductId());
            String nome = obj.getProductname();
            jComboBox1.addItem(new Item(id, nome,obj));
        }
        jComboBox1.setSelectedIndex(0);
        jComboBox1.updateUI();

para colocar mais de um itme no com é muito simples:

o problema é você pegar apenas o M, você vai cair no memso dilema que eu tive com combobox, segue o tópico que tem um exemplo de classe que o Vini me passou, porém comigo não funcionou:

http://www.guj.com.br/java/274461-arraylist-classe-de-objetos-ou-whiles-do-resultset

O Item Render ja resolve isso…so aparece o “Masculino” por exemplo no combobox…o ID fica escondido dentro de um objeto qualquer q vc queira ou em uma string como coloquei no exemplo…