JAVA - ComboBox's "Interligados"

Boa tarde pessoal.

Alguém poderia me ajudar, em como posso “Vincular” duas ComboBox (Caixa de combinação) no Java trabalhando com o NetBeans??

Exemplo Tenho duas ComboBox com os seguintes valores:

jComboBox01 (Códigos)
1.01
1.02
2.01
2.02

jComboBox02 (serviços)
Administração
Economia
Estatística
Matemática

Repare que as duas estão em ordem Alfabética do menor para o maior.

O que eu queria, era quando uma delas fosse alterada, a outra atualizasse também com o serviço ou código correspondente.

  • Se eu alterasse o código, do jComboBox01, o jComboBox02 atualiza com o serviço correspondente
  • Se eu alterasse o serviço, do jComboBox02, o jComboBox01 atualiza com o código correspondente

Seriam eles os correspondentes:
1.01 - Administração
1.02 - Economia
2.01 - Matemática
2.02 - Estatística

Aqui dei um exemplo simples, o que realmente quero fazer possui código e lista de 200 itens.

Qualquer dúvida necessária para melhor compreensão estou a disposição.

Obrigado!

Vc precisará usar eventos do componente jComboBox.
Capture o evento de quando houver alguma alteração vc faz oq quiser.

jComboBox1.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
               //seu código aqui
            }
        });
1 curtida

Olá Rodrigo, Obrigado pela ajuda, porém é justo essa parte que eu estou perdido,

Se o único jeito é fazer um por um (provável que não), exemplo (Só pra entender a lógica)

if (jComboBox1 == “1.01”) {
jComboBox2.setText(“Administração”);
}

Ou se é possível fazer puxar todos de uma vez, porque são 200 combinações de códigos e seus serviços que preciso alterar

Perae, agora fiquei confuso, pq vc tem 2 combo, um para o código e outro com a descrição? na teoria os 2 não servem pra selecionar a mesma coisa?
Pq não ter apenas 1 combo com as opções abaixo?
1.01 - Administração
1.02 - Economia
2.01 - Matemática
2.02 - Estatística

Porque a ideia é dar opção ao usuário.

O programa para o usuário possa conferir as retenções a serem lançadas das Notas Fiscais de Serviço.

Algumas notas, vem com o Código corretinho, bem certinho, porém de alguns municípios não emitem o código… vem apenas com a descrição do serviço, e o usuário teria a opção de escolher o serviço pela descrição ou código, estando em ordem alfabética e numérica, facilitando até um filtro quando ele digitar no Box, ou escolher procurar por ordem alfabética ou ter a opção direta dos códigos

Mas está estranho ainda. Pelo que entendi o cara vai pode faze uma mescla na seleção, tipo qualquer código com qualquer das descrições, isso? Tipo: Código 2.02 com Descrição Administração
Se cada código tiver apenas uma descrição e cada descrição tem seu código único, sua abordagem está errada pq não teria lógica fazer 2 combos. Ai vc apenas faria um combo conforme as opções que mostrei na resposta anterior.

Assim, conforme a imagem, a pessoa poderia escolher:

O código, e o serviço da Box a direita atualizaria conforme o código escolhido, e o Texto abaixo também.

O serviço, e o código da Box a esquerda atualizaria conforme o serviço escolhido, e o Texto abaixo também.

O texto abaixo, é porque alguns serviços são muito extensos, ai fica uma visualização um pouco melhor

Cada código tem apenas um serviço?

Sim sim, Um para cada

Então é como eu disse, não tem lógica alguma ter 2 combos. Vc vai matar o usuário.
Se faz 1 combo com as opções, conforme:
1.01 - Administração
1.02 - Economia
2.01 - Matemática
2.02 - Estatística
Se o cara quer procurar por código, está ali, se não sabe o código, a descrição tbm está ali. Não sei pq n pode fazer dessa forma, nunca em 10 anos de experiência ví separar em 2 combos o código da descrição.

1 curtida

Lembrando q vc deve ter uma lista de Objetos(com código e descrição) no combo, não uma lista de String.

1 curtida

Vou seguir seu conselho Rodrigo, vou unificar elas

Mas aproveitando sua ajuda e experiencia, poderia me indicar um curso de Java básico :sweat_smile:

Além de estar amando aprender mais sobre, estou ajudando no meu setor (fiscal) a criar o programa abaixo, ele informa se o imposto possui ou não retenção…
Então por exemplo, cada opção (simples, município, Cpom, o Serviço, e até o valor), é uma variável para saber se o imposto possui retenção, e cada imposto possui suas regras.

Eu sei as regras na teoria, só não sei passar para o JAVA, em VBA no excel, com as funções de PROCV consegui criar, mas em java ainda é novidade pra mim

Depende que IDE vc usa, Netbeans ou Eclipse?
Para iniciante recomendo Netbeans.
Tens uns canais de video-aula mto bons, seguem 2 que gosto de indicar para meus alunos(Se vc usar Netbeans).

Haaaaa, e não recomendo iniciar algo em Swing, não vale a pena, desktop não vale a pena. Se ainda assim quiser fazer em desktop, veja JavaFX. Mas web já é o básico.
Flw, bons estudos!

1 curtida

Eu uso Netbeans Sim, logaritmo e facilidade pra entender eu tenho, falta só estudar e praticar kk

Muito obrigado pela ajuda e seu tempo professor !!

Forte abraço!