Continuando a discussão do JComboBox - setSelectedItem( obj):
Estou passando por um problema semelhante (será um applet), tenho o modelo usando objetos (Produto.java) mas nunca consigo selecionar nenhum item da lista,
Somente o primeiro item é selecionado, coloquei uma Action no ComboBox para mostrar o produto selecionado mas sempre mostra o primeiro, eu já sei que esse é o pior componente do Swing mas isso já é demais.
Fiz o modelo como o R_chieck indicou (e fiz vários outros também) mas sem sucesso.
-
na classe Produto.java implementei os métodos “equals” e o “hashCode”
Produto prod1 = new Produto(); prod1.setxProd(“Produto 1”); prod1.setvProd(new BigDecimal(“500.55”));
Produto prod2 = new Produto(); prod2.setxProd(“Produto 2”); prod2.setvProd(new BigDecimal(“563.48”));
List<Produto> produtos = new ArrayList<Produto>(); produtos.add(prod1); produtos.add(prod2); GenericComboBoxModel<Produto> cbModel = new GenericComboBoxModel<Produto>(); cbModel.setData(produtos); comboProdutos.setModel(cbModel);
if (e.getActionCommand().startsWith(“selecionarProduto”)) { JComboBox cb = (JComboBox) e.getSource(); GenericComboBoxModel model = (GenericComboBoxModel) cb.getModel();
Object obj = model.getSelectedObject();//.getSelectedItem(); System.out.println("Selecionado: " + obj ); }