Bom dia Pessoal,
Estou com uma dúvida em relação a comboBox’s de swing.
Um exemplo bem básico é atualizar Municipios, a partir de Estados.
Minha solução foi gerada a partir de um Action(ActionListener) no comboBox de estado.
Onde quando selecionado o UF(Estado), realiza uma busca em um Banco de Dados contendo Municipios com Chave Composta de ID_UF.
Retornando esses municipios em um arrayList, temos então os objetos para a ComboBox.
Minha solução então foi adicionar esse Array em um Model(DefaultComboBoxModel), e remover e adicionar os elementos a cada Select UF.
ActionListener comboBoxSelect = new ActionListener() {
public void actionPerformed(ActionEvent e) {
comboSelected = (String) cBUf.getSelectedItem();
listaMunicipio = DAO.getSingleton().obterListaMunicipio(comboSelected).toArray();//Transforma o ArrayList em Object
model = new DefaultComboBoxModel(listaMunicipio);//Cria um novo model de listaMunicipio
model.removeAllElements(); //Remove todos elementos
for(Object obj: listaMunicipio){ //Para cada Objeto add
model.addElement(obj);
}
getComboBoxMunicipio().setModel(model); //Set o modelo na comboBox
//getComboBoxMunicipio().updateUI(); Não foi necessário
}};
comboBoxUF.addActionListener(comboBoxSelect);
Essa foi uma das soluções que achei. Gostaria de saber se mais alguem tem uma solução eficiente para esse tipo de Swing.
Obrigado