JComboBox - troca de valores conforme escolha do usuário

Pessoal, gostaria de uma dica para implementação da seguinte lógica:

Tenho 6 ComboBoxes. Elas são inicializadas com 7 itens de cores diferentes. Apenas o primeiro ComboBox está habilitado na inicialização do programa. Exemplo:

ComboBox 1 possui os seguintes itens {“branca”,“vermelho”,"verde,“amarelo”,“azul”,“ciano”,“magenta”. Todos os outros ComboBoxes possuem esses itens também na inicialização.

Idéia:
Quando o usuário escolher uma cor diferente de “branca” no primeiro combobox, o segundo combobox é habilitado retirando a cor selecionada no combo anterior, e assim sucessivamente com os demais.

Isso já está implementado e funcionando, porém, preciso agora elaborar uma lógica para o seguinte caso, para isso segue um exemplo:

ComboBox1 = Vermelho
ComboBox2 = Azul
ComboBox3 = Verde
ComboBox4 = Ciano
ComboBox5 = Magenta
ComboBox6 = Amarelo

O usuário poderá trocar a cor selecionada. Ele poderia trocar de cor “azul” do ComboBox2 para “magenta” e assim esta última não poderia estar disponível nos comboboxes seguintes (3,4,5 e 6), porém, a cor azul deverá está disponível para os demais.

Tem-se que manter sempre combinações de cores distintas. Não posso ter cores repetidas.

Eu vou tentar elaborar alguma coisa também, mas gostaria que se alguém já fez algo semelhante pudesse me enchaminhar dando algumas dicas de implementação.

Agradeço por qualquer ajuda.

Abraços

gostei do exercicio e fiz aqui uma maneira que deu certo, nao otimizei mas da pra da uma luz

cria os 6 combobox depois em cada um cria um ActionPerformed

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { removeCombo1();//aqui e o metedo do combo1 }

depois seta o metodo equivalente quele metodo que vc ta removendo
vamos la no metodo do combobox1

[code]public void removeCombo1(){

 String corQuardar;//variavel da cor a ser removida
 String corRemover;//variavel para quardar a cor que foi selecionada anteriormente pra evitar
//selecionar tudo de novo

       
        corRemover =  jComboBox1.getSelectedItem().toString();//escolheu a cor do combox que estamos selecionado, portanto quarda pra remover nos outros
        
        
        corQuardar =  jComboBox2.getSelectedItem().toString();//quarda a cor que esta selecionada pra depois coloca-la de novo
        jComboBox2.removeAllItems();//removemos tudo
        jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Vermelho", "Azul", "Verde", "Ciano", "Magneta", "Amarelo" }));//recolocamos tudo
        
        jComboBox2.removeItem(corRemover);//removemos o intem da cor que ja foi selecionada acima 
        jComboBox2.setSelectedItem(corQuardar);//seta novamente a cor que estava selecionada

        //o resto e tudo igual

                    
        corQuardar =  jComboBox3.getSelectedItem().toString();
        jComboBox3.removeAllItems();
        jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Vermelho", "Azul", "Verde", "Ciano", "Magneta", "Amarelo" }));
        
        jComboBox3.removeItem(corRemover); 
        jComboBox3.setSelectedItem(corQuardar);
        
        
        corQuardar =  jComboBox4.getSelectedItem().toString();
        jComboBox4.removeAllItems();
        jComboBox4.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Vermelho", "Azul", "Verde", "Ciano", "Magneta", "Amarelo" }));
        
        jComboBox4.removeItem(corRemover); 
        jComboBox4.setSelectedItem(corQuardar);
        
        
        corQuardar =  jComboBox5.getSelectedItem().toString();
        jComboBox5.removeAllItems();
        jComboBox5.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Vermelho", "Azul", "Verde", "Ciano", "Magneta", "Amarelo" }));
        
        jComboBox5.removeItem(corRemover); 
        jComboBox5.setSelectedItem(corQuardar);
        
        
        corQuardar =  jComboBox6.getSelectedItem().toString();
        jComboBox6.removeAllItems();
        jComboBox6.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Vermelho", "Azul", "Verde", "Ciano", "Magneta", "Amarelo" }));
        
        jComboBox6.removeItem(corRemover); 
        jComboBox6.setSelectedItem(corQuardar);

}
[/code]

ai vc faz com todos os seus combobox, so modificando pra o combo q vc ta obtendo lembrando que nao ta otimizado ta puro mesmo pra ficar facil entendimento e tem uns bugs pq nao fiz com todos os combox, quando chegar em casa eu termino o resto e vejo como e que fica

vlw

Opa cara, beleza!?

Então, vou dar implementar essa sua dica e fazer as considerações necessárias.

Muito obrigado por essa dica. Valeu mesmo, qualquer coisa volto a postar :stuck_out_tongue:

Abraços!!!