Esta dica é uma referencia a versão original do seguinte link:
http://tech.chitgoks.com/2009/10/05/java-use-keyvalue-pair-for-jcombobox-like-htmls-select-tag/
Ela demonstra como trabalhar com um campo chave e uma descrição em um jComboBox. Isso é muito útil para quem vem do Delphi e está acostumado com o DbLookUpComboBox. Para elucidar a questão, segue abaixo código do objeto a ser adicionado aos itens do combo box:
public class KeyValue {
String key, value;
public KeyValue(String key, String value) {
this.key = key;
this.value = value;
}
public String getValue() { return value; }
public String getKey() { return key; }
@Override
public String toString() { return key; }
@Override
public boolean equals(Object obj) {
if (obj instanceof KeyValue) {
KeyValue kv = (KeyValue) obj;
return (kv.value.equals(this.value));
}
return false;
}
@Override
public int hashCode() {
int hash = 7;
hash = 97 * hash + (this.value != null ? this.value.hashCode() : 0);
return hash;
}
}
Agora segue um exemplo de como adicionar os itens ao jComboBox:
jComboBox1.addItem(new KeyValue("Valor a ser exibido", "Campo Chave"));
Para recuperar o valor do campo chave, pode ser usado o seguinte código:
String value = ((KeyValue) jComboBox.getSelectedItem()).getValue();
Seria isso.
Cordialmente;
Claudir Pereira dos Santos
Matelândia, 13/02/2012