A voir également:
- Synchronisation de JComboBox
- Synchronisation agenda google et outlook - Guide
- Synchronisation en pause google - Forum Google Chrome
- Impossible de synchroniser manette wii - Forum Wii
- Synchronisation google chrome?! ✓ - Forum Téléphones & tablettes Android
- Coupure de Synchronisation intempestive compte google - Forum Google Chrome
5 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
23 avril 2013 à 22:16
23 avril 2013 à 22:16
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
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 23/04/2013 à 22:46
Modifié par KX le 23/04/2013 à 22:46
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
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
23 avril 2013 à 23:15
23 avril 2013 à 23:15
La boucle n'est pas le point le plus important mais tu vois bien que c'est tout de suite plus simple parce qu'il y a beaucoup de choses identiques à faire pour tous les JComboBox...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question