Ho trovato la soluzione sul forum della Sun, e la riporto per chi dovesse avere i miei stessi dubbi.
Occorre creare una classe come questa
codice:
class comboKeyValue {
private String value, id;
public comboKeyValue(String id, String value) {
this.id = id;
this.value = value;
}
public String getValue() {return value;}
public String getId() {return id;}
public String toString() {return value;}
}
Successivamente si riempie un Hashtable con le coppie chiave-valore necessarie. Si "carica" poi l'Hashtable nel JComboBox
codice:
comboKeyValue a = new comboKeyValue("1", "Cliente");
comboKeyValue b = new comboKeyValue("2", "Fornitore");
comboKeyValue c = new comboKeyValue("3", "Cliente-fornitore");
Hashtable hashSoggetti = new Hashtable();
hashSoggetti.put(a.getId(), a);
hashSoggetti.put(b.getId(), b);
hashSoggetti.put(c.getId(), c);
jComboTipoSog = new JComboBox(hashSoggetti.values().toArray());
Infine la chiave può essere richiamata in questo modo
codice:
comboKeyValue v = (comboKeyValue) jComboTipoSog.getSelectedItem();
v.getId();