Bonjour,
j'ai un JPanel contenant 2 JComboBox de String, qui sont renseignées avec le même modèle de chaines de caractères.
Ainsi lorsque le modèle change, le contenu des 2 JComboBox est mis à jour en même temps.
Mon problème est que lorsque je sélectionne un élément d'une des JComboBox, l'autre reçoit un aussi évènement, et se positionne sur le même index que sa "copine".
Au début, le traitement d'évènements se faisait par une classe commune:Donc j'ai décidé de séparer la gestion des évènements, et donné une classe de gestion pour chaque JComboBox
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 cbxFiltreSites = new JComboBox<String>( modeleListeSites ); cbxFiltreSites.addActionListener( this ); // this étant la classe conteneur, implémentant ActionListener cbxAffectation = new JComboBox<String>( modeleListeSites ); cbxAffectation .addActionListener( this ); /.../ @Override public void actionPerformed( ActionEvent aEvt ) { /.../ }Rien n'y fait, les 2 ComboBox sont toujours couplées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 cbxFiltreSites = new JComboBox<String>( modeleListeSites ); cbxFiltreSites.addActionListener( new CEvenementFiltre()); cbxAffectation = new JComboBox<String>( modeleListeSites ); cbxAffectation .addActionListener( new CEvenementAffectation());
Pour finir, j'ai décidé de ne plus leur donner le même modèle de donnéesEnfin, elles ne sont plus couplées !!???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 cbxFiltreSites = new JComboBox<String>( modeleListeA ); cbxFiltreSites.addActionListener( new CEvenementFiltre()); cbxAffectation = new JComboBox<String>( modeleListeB ); cbxAffectation .addActionListener( new CEvenementAffectation());
Je ne vois pas le rapport entre le modèle de String, et le fait qu'un évènement d'une ComboBox se répercute sur l'autre... Vous avez déjà vu ça ?
Partager