coinki
Messages postés57Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention 6 juillet 2009
-
7 déc. 2006 à 15:11
coinki
Messages postés57Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention 6 juillet 2009
-
7 déc. 2006 à 16:58
Bonjour,
J'ai un JPanel qui suivant une certaine valeur contient des composants différents.
Lorsque j'appuie sur un bouton, je voudrai que ça passe de l'un à l'autre.
Malheureusement, je n'y arrive pas.
Voici un petit code qui simule ce que je veux faire.
Le but est d'arriver à remplir la méthode refreshPanel.
if (mainPanel == null)//pas besoin de recreer l'instance
mainPanel = new JPanel(new FlowLayout(FlowLayout.LEFT,10,10));
if (switcher){
if (label1 == null){//pas besoin de recreer l'instance
label1 = new JLabel("LABEL 1");
//idem pas besoin de refaire
label1.setForeground(Color.ORANGE);
}
if (label2 == null)//pas besoin de recreer l'instance
label2 = new JLabel("LABEL 2");
if (button1 == null){//pas besoin de recreer l'instance
button1 = new JButton("BUTTON 1");
//idem pas besoin de refaire
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
refreshPanel();
}
});
}
mainPanel.add(label1);
mainPanel.add(label2);
mainPanel.add(button1);
}else{
if (label3 == null){//pas besoin de recreer l'instance
label3 = new JLabel("LABEL 3");
//idem pas besoin de refaire
label3.setForeground(Color.BLUE);
}
if (button2 == null){//pas besoin de recreer l'instance
button2 = new JButton("BUTTON 2");
//idem pas besoin de refaire
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
refreshPanel();
}
});
}
public static void main(String[] args) {
TestFrame frame = new TestFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//si tu n'as pas d'autres fenetre fais plutot EXIT_ON_CLOSE
//frame.setBounds(200,200,250,150);//pourquoi nepas centrer ta fenetre à l'ecran
frame.setSize(200, 200);
frame.setLocationRelativeTo(null);//ici tu centre à l'ecran en fonction de la taille
frame.setVisible(true);
}
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."