Consulta sql em um JComboBox

1 resposta
Fexx

bom dia.

criei uma classe chamanda AbstractComboBoxModel que extends AbstractListModel e implementa ComboBoxModel, ao fazer uma consulta sql ele chama os dados e joga no JComboBox, mas não ficar um valor default no combo, apenas quando eu seleciono, como resolvo isso?

Minha classe AbstractComboBoxModel

package br.com.neve.licitacao.model;

import java.util.ArrayList;
import java.util.List;

import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;

import br.com.neve.licitacao.bean.PessoaJuridica;

public class AbstractComboBoxModel extends AbstractListModel implements ComboBoxModel{  
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	
	private Object selectedItem;  
    private List<PessoaJuridica> list; 

      
    public AbstractComboBoxModel(){  
        list = new ArrayList<PessoaJuridica>();          
    }  
      
    public AbstractComboBoxModel(List<PessoaJuridica> lista){  
        this();  
        list.addAll(lista);               
    } 
 
  
    @Override  
    public int getSize() {  
        return list.size();  
    }  
  
    @Override  
    public Object getElementAt(int index) {          
    	PessoaJuridica t = list.get(index);   
        return  t.getPais().getPais();        
    }  
  
    @Override  
    public void setSelectedItem(Object anItem) {      
        selectedItem = anItem;  
    }  
  
    @Override  
    public Object getSelectedItem() {                  
        return selectedItem;  
    }    
}

parte do frame, que chamo o combo

public void startCombo(){
		PessoaJuridicaDAO dao = new PessoaJuridicaDAO();
		List<PessoaJuridica> lista = dao.getListar();

		AbstractComboBoxModel model = new AbstractComboBoxModel(lista);
		jCBPais.setModel(model);
	}

Usando DefaultComboBoxModel consigo, mas gostaria de usa dessa maneira.

Obrigado.

1 Resposta

mauricioadl

adicione o valor default no construtor do seu model.

Criado 20 de janeiro de 2012
Ultima resposta 20 de jan. de 2012
Respostas 1
Participantes 2