Salve galera…
Seguinte, eu tenho um JComboBox onde faço um auto-complete baseado num Collections List retornado do meu banco de dados…Ja consigo fazer isso e estou usando a biblioteca SwingX q ajuda bastante.
Agora quero saber como ao invés de pegar o nome do cliente pegar o código, pq no JComboBox eu exibo o nome e não o código.
Andei vendo e muitas pessoas dizem pra usar HashMap, mas naum encontrei nada de como fazer. Minha tabela de Clientes vc vaum ver q ta definida como Ter01, vai saber pq definiram esse nome, ja vou adiantando q naum fui eu…kk !
aqui como estou fazendo.
// model
public class AbstractComboBoxModel extends AbstractListModel implements ComboBoxModel{
private Object selectedItem;
private List<Ter01> list;
private HashMap map = new HashMap();
public AbstractComboBoxModel(){
list = new ArrayList<Ter01>();
}
public AbstractComboBoxModel(List<Ter01> lista){
this();
list.addAll(lista);
}
@Override
public int getSize() {
return list.size();
}
@Override
public Object getElementAt(int index) {
Ter01 t = list.get(index);
//map.put(t.getCodigo(), t.getNome());
//return map.values();
return t.getNome();
}
@Override
public void setSelectedItem(Object anItem) {
selectedItem = anItem;
}
@Override
public Object getSelectedItem() {
return selectedItem;
}
}
//aqui como estou usando no meu JFrame com a lib SwingX
construtor(){
AutoCompleteDecorator.decorate(jComboBox1); //decorate de swingx
meuCombo();
}
public void meuCombo(){
jComboBox1.setMaximumRowCount(10);
List<Ter01> lista = new Ter01DAO().retornaListaTer01(); //retorna a lista com os dados
AbstractComboBoxModel model = new AbstractComboBoxModel(lista);//adiciono a lista ao meu model
jComboBox1.setModel(model);//mudo o model do jcombo para o meu implementado
}
Como faco pra pegar o codigo do cliente e naum o nome…