Javaxswing interaction

Danasintelecta -  
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



// 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

Jithel Messages postés 843 Date d'inscription   Statut Membre Dernière intervention   171
 
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
pan.add(listenat); // listenat n'existe pas. C'est pas listeNature plutôt ?
0