Problemas com jcombobox no Netbeans

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.




image

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 Strings 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!!