[RESOLVIDO]Preencher JComboBox através de outro JComboBox

Eae galera!

Bom é o seguinte, tenho 3 JComboBox, na seguinte ordem (cursos, modulos, disciplinas). Um curso possui varios modulos, e um modulo possui varias disciplinas.

Sendo assim, quando seleciono o combobox curso, o combox modulo é preenchido com os modulos desse determinado curso, e depois seleciono um modulo, e o combox disciplina é preenchido com as disciplinas desse determinado modulo.

Agora vamos para pratica:

No combobox Curso, eu utilizei o evento ItemStateChanged, no qual eu pesquiso no banco os modulos desse curso e preencho dentro do combox modulo…até aqui OK!

O problema é que se chamar um outro evento ItemStateChanged no combox modulo para poder preencher o combox disciplina, o sistema acusa um erro, e nem o combox modulo é preenchido.

Consegui utilizando o evento MouseCliked, porem não fica interessante a pessoa selecionar e depois ter que clicar em cima do combox para poder chamar o evento. Para quebrar o galho estou usando um button ao invez de um evento.

Enfim como eu poderia resolver isso ?

Bom é isso galera, conto com a ajuda de vcs!

[]'s

Qual erro?

java.lang.NullPointerException
java.lang.NullPointerException

Da o mesmo erro 2 vezes! Alterei o codigo e agora ta funcionando, mas continua acusando erro. Quando eu seleciono determinado curso, ele da erro 2 vezes, mas completa o combox com os modulos desse determinado curso.

Você está testando se o tipo do ItemEvent é selected?
http://docs.oracle.com/javase/6/docs/api/java/awt/event/ItemEvent.html

Vini, me desculpe a ignorancia mas como assim “testar se é selected” ?

Como está na documentação que te passei, o ItemStateChanged é disparado em várias ocasiões:

  • Quando o item é deselecionado;
  • Quando um item é selecionado;
  • Para o primeiro e último item da lista.

Você só está interessado em um tipo de evento, o de seleção. Portanto, tem que testar o tipo do evento de entrada.

É por isso que você tem NullPointers e mais de uma vez. Provavelmente está entrando no método antes mesmo da seleção estar lá, e aí o getSelectedItem() vai retornar null.


Problema resolvido, muito obrigado ViniGodoy pela ajuda!

Problema resolvido, muito obrigado ViniGodoy pela ajuda!