Olá, estou com um problema em uma função para delimitar os bairros e ruas conforme a cidade selecionada, a ideia seria, dependendo da cidade selecionada aparecer apenas os bairros daquela cidade, e a mesma coisa para ruas, quando executo o projeto aparece alguns erros.
Evite postar imagens do código e do erro. Sempre que puder, copie e cole-os aqui. Fica mais fácil de ajudar.
Esse erro deve ser pq vc, provavelmente, está populando sua combobox com String
s e está tentando recuperar o valor selecionado para o tipo Bairro
. Mas como são tipos incompatíveis, o cast não irá funcionar.
Como vc está populando a combobox?
Reparei que vc está adicionando itens na combobox de bairros de duas formas diferentes:
Aqui onde vc preenche com os nomes:
txtBairro.addItem(list.get(i).getBairro_nome());
E aqui onde vc preenche com o objeto Bairro:
public void populaBairro() {
BairroDAO B = new BairroDAO();
for (Bairro c: B.read()) {
txtBairro.addItem(c);
}
}
Acho que seria melhor sempre preencher com o objeto Bairro, pq vc sempre teria acesso ao objeto completo quando fosse pegar o item selecionado.
Desculpe a ignorancia, mas você se refere a usar apenas a função populaBairro ?
O ponto que quis dizer é sempre popular a combobox com o mesmo tipo de valor. Do jeito que vc fez, uma hora vc popula com String
, outra hora vc popula com o objeto Bairro
. Vc poderia sempre popular com o objeto bairro para evitar esse tipo de erro que está acontecendo (ClassCastException
).
Pelo seu código, acho que se vc deixar assim, já resolve:
método txtCidadeFocusLost
:
for (int i = 0; i < list.size(); i++) {
txtBairro.addItem(list.get(i));
}
Deu certo, Mutio Obrigado!!