Bom dia…
Tenho dois JComboBox um JCBEstado e outro JCBCidade quando seleciono um item do JCBEstado ele lista no jCbCidade somente as cidades daquele estado… só que se eu seleciono outro estado novamente no JCBCidade fica as cidades do estado que tinha selecionado anteriormente e as do que eu selecionei por ultimo… como estou usando um array acredito que o que esta ocorrendo é que não esta limpando este array.
Exemplo:
Seleciono Rio Grande do Sul
[Cachoeira do Sul, Santa Cruz do Sul, Santa Maria, Agudo]
Segunda vez seleciono Santa Catariana
[Cachoeira do Sul, Santa Cruz do Sul, Santa Maria, Agudo, ABDON BATISTA, ABELARDO LUZ, AGROLANDIA, AGRONOMICA, AGUA DOCE, AGUAS BRANCAS, AGUAS CLARAS, AGUAS DE CHAPECO, AGUAS FRIAS, AGUAS MORNAS, AGUTI, AIURE, ALFREDO WAGNER, ALTO ALEGRE, ALTO BELA VISTA, ALTO DA SERRA]
Estou usando o jCBCidade.removeAllItems(); mas mesmo assim não limpa os itens.
private JComboBox getJCBEstado() {
if (jCBEstado == null) {
jCBEstado = new JComboBox();
jCBEstado.setBounds(new Rectangle(75, 64, 155, 21));
try {
bd.populaComboEstado(jCBEstado);
} catch (SQLException e1) {
e1.printStackTrace();
}
jCBEstado.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JComboBox source = (JComboBox) e.getSource( );
String item = (String)source.getSelectedItem( );
bd.adicionaCidade(item);
try
{
jCBCidade.removeAllItems();
String[] cidades = new String[bd.qtdCidade()];
cidades = bd.getItemsCidade();
for (int x=0; x< cidades.length; x++){
jCBCidade.addItem(cidades[x]);
}
} catch (Exception ea){
}
}
});
}
return jCBEstado;
}
Fico no aguardo… valeu.