Boa noite a todos, estou com dificuldades em atualizar meus objetos que adiciono no JComboBox. Pesquisando sobre o mesmo vi que é extremamente importante a implementação do ComboboxModel. Bom consegui implementar o mesmo, operações como add ou remove são realizas com exito, porem se eu altero o objeto o mesmo não atualiza a interface gráfica.
exemplo:
Se no meu JComboBox tenho um Tipo de Logradouro cuja o toString() = "Rua"
e eu alterar a descrição para “Rua 5” não acontece nada na parte gráfica do combobox
Já vi varias soluções do tipo de recarregar o a lista de objetos, mas simplesmente acho inviável usar este tipo de programação procedural!
Agradeço a todos que ajudarem!
Da onde voce esta pegando trazendo estes dados para o JComboBox?
De um banco de Dados?
De uma lista ? ,
:?:
J
joeldatabox
gusthavosouza:
Da onde voce esta pegando trazendo estes dados para o JComboBox?
De um banco de Dados?
De uma lista ? ,
:?:
Bom dia.
Estou trazendo do banco de dados, e mantendo em um list de uma instancia de uma classe que implementei, para evitar de estar tendo mais de uma lista no projeto par. Exemplo se em duas telas que existir JComboBox para listar os mesmo objetos, esses combobox estão apontando para a mesma lista!
um update na hora que salvar a lista, pra ele atualizar, e pegar tudo do banco denovo
J
joeldatabox
na hora que vou salvar algum objeto no banco eu verifico se o mesmo já existe na lista,caso exista eu apenas substituo , caso contrario eu adiciono o mesmo na lista.
Pelo debug da para ver que o mesmo foi substituído, porem visualmente não acontece nada.
MarceloMVT
Eu acredito que tenha que utilizar um renderer para o jcombobox
packagebr.com.renderer;importbr.com.beans.Locacao;importjava.awt.Component;importjavax.swing.DefaultListCellRenderer;importjavax.swing.JList;publicclassUnidadeListCellRendererextendsDefaultListCellRenderer{@OverridepublicComponentgetListCellRendererComponent(JListlist,Objectvalue,intindex,booleanisSelected,booleancellHasFocus){super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus);if(valueinstanceofLocacao){Locacaou;// aqui o classe(bean) que comunica com o bancou=(Locacao)value;setText(u.getNomeCliente());}returnthis;}}