Javaxswing interaction
Danasintelecta
-
Jithel Messages postés 843 Date d'inscription Statut Membre Dernière intervention -
Jithel Messages postés 843 Date d'inscription Statut Membre Dernière intervention -
Bonjour;
je travaille sur un programme. Lorsque je clique sur un premier bouton, l'action que je souhaite se déclenche, de même pour le second et pour les autres.
Le problème est que si je reviens cliquer sur bouton sur lequel j'avais déjà cliqué, l'action souhaitée ne se déclenche plus.
en voici le code
Merci d'avance
je travaille sur un programme. Lorsque je clique sur un premier bouton, l'action que je souhaite se déclenche, de même pour le second et pour les autres.
Le problème est que si je reviens cliquer sur bouton sur lequel j'avais déjà cliqué, l'action souhaitée ne se déclenche plus.
en voici le code
// Les conteneurs JPanel pan = new JPanel(); JPanel pan2 = new JPanel(); //Les boutons nature = new JButton( new ImageIcon( "images DI/nature.jpg" )), histoire = new JButton( new ImageIcon( "images DI/histoire.jpg" )), géographie = new JButton( new ImageIcon( "images DI/géographie.jpeg" )); //les listes String[] nat = {"eau", "terre", "air"}; JList listeNature = new JList(nat); String[] hist = {"aitiquité","moyen age","temps modernes","temps contemporains"}; JList listehist = new JList(hist); String[] geo = {"Afique","Amérique","Asie","Europe"}; JList listegeo = new JList(geo); nature.addActionListener(btListener); géographie.addActionListener(btListener); histoire.addActionListener(btListener); class btListener implements ActionListener{ public void actionPerformed(ActionEvent arg0) { if(arg0.getSource() == nature) { pan.add(listenat); } if(arg0.getSource() == geographie) { pan.add(listegeo); } if(arg0.getSource() == histoire) { pan.add(listehist); } } }
Merci d'avance
1 réponse
La réponse est là :
https://stackoverflow.com/questions/29454055/how-to-add-a-component-multiple-times
Tu ne peux pas ajouter plusieurs fois la même instance d'un composant dans un JPanel. Il faut recréer l'instance plusieurs fois.
Attention, je pense qu'il y a une erreur
https://stackoverflow.com/questions/29454055/how-to-add-a-component-multiple-times
Tu ne peux pas ajouter plusieurs fois la même instance d'un composant dans un JPanel. Il faut recréer l'instance plusieurs fois.
Attention, je pense qu'il y a une erreur
pan.add(listenat); // listenat n'existe pas. C'est pas listeNature plutôt ?