J'ai un JPANEL général où sont déclarés pas mal de choses dont des boutons
Je sais que l'on peut imbriquer des JPanel les un dans les autres de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 JPanel monpanel = new JPanel; //Declaré en global monpanel.add(button1); monpanel.add(button2);
Les composants de monpanel2 sont declarés dans une autre class
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 JPanel monpanel1 = new JPanel();//Declaré en global JPanel monpanel2 = new JPanel();//Declaré en global monpanel1.add(button1); monpanel1.add(button2); monpanel1.add(monpanel2);
Je souhaite integerer un nouveau panel lors d'un evenement sur le button1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Moncontenu{ public JPanel getContenu{ JPanel monpanel = new JPanel(); monpanel.add(button3); monpanel.add(button4); return monpanel; } }
le probleme c'est que si je fais ça ça ne marche pas alors que si je fais ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void actionPerformed(ActionEvent e) { if(e.getSource() == button1){ Moncontenu m = new Moncontenu(); monpanel2 = m.getContenu(); monpanel2.updateUI(); } }
La tout fonctionne !!!! PKOI ça ne rafraichi pas mon panel monpanel2 lors du premier code, pkoi je suis obligé de faire un add à monpanel pour que ça tourne ?????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void actionPerformed(ActionEvent e) { if(e.getSource() == button1){ Moncontenu m = new Moncontenu(); monpanel2 = m.getContenu(); monpanel.add(monpanel2); monpanel2.updateUI(); } }
Partager