Synchronisation de JComboBox
Vivien
-
Vivien -
Vivien -
Bonjour,
je me tourne vers vous, car après de multiples tentatives et de multiples recherches, je ne trouve pas la solution à mon problème.
Je dispose de 4 JComboBox chacun avec 4 couleurs (Bleu, Vert, Jaune, Rouge).
Je souhaiterais, lorsque je sélectionne une couleur dans l'une des 4 JComboBox qu'elle ne soit plus présente dans les 3 autres etc... De telle manière à ne pas pouvoir sélectionner deux fois la même couleur sur 2 JComboBox différentes.
J'ai tenté avec des ComboBoxModel, avec ItemSelected, etc... Rien à faire j'y arrive pas.
Merci de me mettre sur la piste, car je ne vois vraiment pas.
Merci d'avance pour votre aide
je me tourne vers vous, car après de multiples tentatives et de multiples recherches, je ne trouve pas la solution à mon problème.
Je dispose de 4 JComboBox chacun avec 4 couleurs (Bleu, Vert, Jaune, Rouge).
Je souhaiterais, lorsque je sélectionne une couleur dans l'une des 4 JComboBox qu'elle ne soit plus présente dans les 3 autres etc... De telle manière à ne pas pouvoir sélectionner deux fois la même couleur sur 2 JComboBox différentes.
J'ai tenté avec des ComboBoxModel, avec ItemSelected, etc... Rien à faire j'y arrive pas.
Merci de me mettre sur la piste, car je ne vois vraiment pas.
Merci d'avance pour votre aide
A voir également:
- Synchronisation de JComboBox
- Synchronisation agenda google et outlook - Guide
- Synchronisation favoris chrome - Guide
- Synchronisation en pause google - Forum Google Chrome
- Coupure de Synchronisation intempestive compte google - Forum Google Chrome
- Logiciel synchronisation audio vidéo gratuit - Télécharger - TV & Vidéo
5 réponses
4 couleurs pour 4 JComboBox c'est compliqué, il faudrait autoriser une 5è couleur par défaut pour pouvoir toujours changer de choix (et avoir une valeur de départ)
Exemple d'évolution (en haut en majuscule le choix sélectionné, en dessous les choix restants)
En partant de cette idée de 5è couleur rémanente, ça devrait te débloquer...
Exemple d'évolution (en haut en majuscule le choix sélectionné, en dessous les choix restants)
Etat initial GRIS GRIS GRIS GRIS ----- ----- ----- ----- rouge rouge rouge rouge vert vert vert vert bleu bleu bleu bleu jaune jaune jaune jaune Première sélection ROUGE GRIS GRIS GRIS ----- ----- ----- ----- gris vert vert vert vert bleu bleu bleu bleu jaune jaune jaune jaune ROUGE VERT GRIS GRIS ----- ----- ----- ----- gris gris bleu bleu bleu bleu jaune jaune jaune jaune ROUGE VERT JAUNE GRIS ----- ----- ----- ----- gris gris bleu bleu bleu bleu gris ROUGE VERT JAUNE BLEU ----- ----- ----- ----- gris gris gris gris Changement de sélection ROUGE GRIS JAUNE BLEU ----- ----- ----- ----- gris vert vert vert vert gris gris VERT GRIS JAUNE BLEU ----- ----- ----- ----- rouge rouge rouge rouge gris gris gris VERT ROUGE JAUNE BLEU ----- ----- ----- ----- gris gris gris gris
En partant de cette idée de 5è couleur rémanente, ça devrait te débloquer...
Tout d'abord, merci pour ta réponse
J'ai pas oublié de spécifier, mais j'ai une valeur commune à chaque JComboBox qui est "Choisir couleur", mais je n'y arrive tout de même pas. C'est pas faute d'avoir essayer.
Si je choisi donc Jaune la 3ème il faut que jaune n'apparaissent ni dans la 1ère, ni dans la 2ème ni dans le 4ème. Cependant si je repasse la 3ème comboBox sur "Choisir Couleur", Jaune doit réapparaître dans les autres ComBoBox.
Je ne vois vraiment pas comment faire. C'est vraiment comment le coder qui me pose problème, la modélisation du problème je l'ai bien saisie.
Merci encore
J'ai pas oublié de spécifier, mais j'ai une valeur commune à chaque JComboBox qui est "Choisir couleur", mais je n'y arrive tout de même pas. C'est pas faute d'avoir essayer.
Si je choisi donc Jaune la 3ème il faut que jaune n'apparaissent ni dans la 1ère, ni dans la 2ème ni dans le 4ème. Cependant si je repasse la 3ème comboBox sur "Choisir Couleur", Jaune doit réapparaître dans les autres ComBoBox.
Je ne vois vraiment pas comment faire. C'est vraiment comment le coder qui me pose problème, la modélisation du problème je l'ai bien saisie.
Merci encore
Voici une idée de base, mais il faudrait creuser parce qu'il y a quelques bugs...
import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import javax.swing.JComboBox; import javax.swing.JFrame; public class QuatreCouleurs { public static void main(String[] args) { final int n=4; String[] color = {"Choisir la couleur", "rouge", "vert", "bleu", "jaune"}; JFrame frame = new JFrame(); frame.setLayout(new GridLayout(1,n)); frame.setSize(n*130, 75); final ArrayList<JComboBox<String>> comboArray = new ArrayList<JComboBox<String>>(n); for (int i=0; i<n; i++) { final List<String> list = Arrays.asList(color); final JComboBox<String> combo = new JComboBox<String>(); for (String str : color) combo.addItem(str); combo.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String s = (String) combo.getSelectedItem(); for (JComboBox c : comboArray) if (c!=combo) c.removeItem(s); } }); comboArray.add(combo); frame.add(combo); } frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
Merci beaucoup, je vais donc tenter de résoudre le problème restant, dans le cas ou l'on reviendrais à "Choisir Couleur" pour réinjecter la couleur libéré dans l'autre liste.
Pas évident, vu que moi j'ai 4 comboBox différentes (nom différent) que je ne crée dans pas dans une boucle.
Merci beaucoup
Pas évident, vu que moi j'ai 4 comboBox différentes (nom différent) que je ne crée dans pas dans une boucle.
Merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question