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 ); }