Boa noite.
Gostaria de falar sobre um problema que estou tendo e saber se alguem pode me dar uma dica ou uma ajuda.
Seguinte…
Eu tenho um formulário em Swing, nesse formulário tem 11 JComboBox, o primeiro pra escolher um “tipo” e os demais ficam desabilitados até ser escolhido um “tipo”.
apartir da escolha do tipo, os demais JComboBox serão habilitados de acordo com cada diferente “tipo”.
Esses detalhes vão variar, por que cada tipo pode ter ou não um desses JComboBox para habilitar e selecionar uma opção.
O que eu faço é jogar um array de “tipos” no primeiro JComboBox e quando abrir o formulário para editar, eu recebo o tipo do banco e faço um if pra cada tipo para selecionar o tipo cadastrado…
O problema é que eu tenho mais de 30 tipos…E se eu quiser mudar uma letra do nome de algum tipo, tenho que mudar nos IFs…
Eu sei que isso não é elegante nem nada, mas foi a maneira que encontrei pra fazer na época…
Então, eu queria saber se existe uma maneira melhor de fazer isso e não depender de alterações no código.
Pensei em algo tipo, receber os “tipos” distintos do banco e depois verificar um por um dos resultados para marcar como selecionado no JComboBox.
Mas não sei como fazer isso agora.
Outra coisa, agora ficou um pouco mais complicado.
Quando eu escolher um “tipo”, digamos que o tipo1 vai habilitar os JComboBox 2, 4 e 5, cada um com sua lista de opções.
Digamos que o “tipo” 3 Habilite os JComboBox 2, 4, 5 e 6. Os JComboBox 2, 4, 5, 6, etc… terão a mesma lista de opções.
mas agora eu preciso mudar isso, os “tipos” podem ter os mesmos JComboBox para modificar, mas as informações dentro de cada um precisam ser diferentes.
Eu fiz uma coisa terrível, criei uma classe JComboBoxGeral com as informações em Arrays de cada JComboBox.
Para fazer o que eu preciso agora, eu fiz várias classes para cada “tipo” e nos campos dos JComboBox eu coloquei as opções.
Exemplo: classeJComboBoxTipo1, classeJComboBoxTipo2, classeJComboBoxTipo3 e por aí vai…
Não ficou nada legal, mas foi a solução que eu encontrei.
Gostaria de ouvir a opinião de voces e qualquer ajuda será bem vinda.
Obrigado.