jComboBox não seleciona alguns itens

0 respostas
furacao123

Estou tendo problemas com jComboBox, ja dei uma pesquisada na internet e tentei de varias formas, eu sempre fiz da seguinte maneira para popular o JComboBox

this.dfrm.getCbBusiness().setModel(new DefaultComboBoxModel(empController.getAll().toArray()));
mas acho que só descobri esse problema agora quando eu abro pela primeira vez a tela funciona normalmente, mas depois que eu seleciono um item fecho o JDialog com dispose() e abro novamente a tela do combo eu nao consigo selecionar mais o item o comboBox nao muda o valor, na minha classe empresa eu dei um override no metodo equals...
@Override
    public boolean equals(Object object) {
        if (!(object instanceof Empresas)) {
            return false;
        }
        Empresas other = (Empresas) object;
        if ((this.empresa == null && other.empresa != null) || (this.empresa != null && !this.empresa.equals(other.empresa))) {
            return false;
        }
        return true;
    }

porque ocorre esse erro, ja tentei criar uma classe e sobrescrever o metodo setSelectedItem como encontrei em um post aqui do GUj ([url]http://www.guj.com.br/posts/list/55886.java[/url]) mas nao entendi muito bem...

public class TesteComboBoxModel extends AbstractListModel implements ComboBoxModel {

    private Object selectedItem;
    private ArrayList lista;

    public TesteComboBoxModel(ArrayList lista) {
        this.lista = lista;
    }

    public void setSelectedItem(Object anObject) {  
     /** encontrei em um post do guj mas nao entendi o que fazer **/
     Object oldSelection = selectedItemReminder;  
     Object objectToSelect = anObject;  
    if (oldSelection == null || !oldSelection.equals(anObject)) {  /* <- aqui a mágica */  
       /* (...) seleciona novo objeto (...) */  
    }  
    fireActionEvent();  
 } 

    public Object getSelectedItem() {
        return selectedItem;
    }

    public int getSize() {
        return lista.size();
    }

    public Object getElementAt(int index) {
        return lista.get(index);
    }
}
Criado 26 de julho de 2010
Respostas 0
Participantes 1