Changer le texte d'un label à partir d'une autre classe
Bonjour à tous :D,
Voila mon problème je voudrais changer le label de la class1 grâce a un bouton de la class2.
Pour cela j'ai utiliser une instance de la class1 "cl1" qui lui utilise la methode setText pour modifiel le label de la class1.
Mais le probleme c'est que rien ne change.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
public class Class1 extends JPanel{
public JButton bt;
public JLabel lab;
public Class1()
{
inti();
}
private void inti()
{
this.setBackground(Color.red);
bt=new JButton();
lab=new JLabel("Test Erreur");
this.setLayout(new BorderLayout());
this.add(lab,BorderLayout.CENTER);
this.setVisible(true);
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
public class Class2 extends JPanel implements ActionListener
{
public JButton bt1;
Class1 cl1;
public Class2()
{
inti();
}
private void inti()
{
cl1=new Class1();
bt1=new JButton("Changer Label");
this.setBackground(Color.yellow);
this.setLayout(new BorderLayout());
this.add(bt1,BorderLayout.SOUTH);
this.setVisible(true);
bt1.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bt1)
cl1.lab.setText("Test réussi");
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
public class Control extends JFrame{
public JPanel pan;
public Control()
{
inti();
}
private void inti()
{
pan=new JPanel();
pan.add(new Class1());
pan.add(new Class2());
add(pan);
this.setSize(400,400);
this.setVisible(true);
}
public static void main(String[] args) {
Control conne=new Control();
}
} |
Voila .J'espere que quelqu'un pourra me répondre ce serai super gentil. Et en plus le problème est tout bête,j'en suis moi même gênée.:oops: