Bonjour, je débute avec Swing et voici mon problème :

J'ai une JFrame frame1 qui possède un bouton bOuvrir et un label lResultat.
Quand je clique sur bOuvrir, je crée une nouvelle JFrame frame2.
frame2 contient 2 boutons: bValider et bAnnuler.
Si je clique sur bValider, je veux que le texte de lResultat devienne : 'Validé'.
Si je clique sur bAnnuler, je veux que le texte de lResultat devienne : 'Annulé'.

Voici mon code au niveau de frame1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.......
bOuvrir.addActionListener(new ActionListener()
{
   public void actionPerformed(ActionEvent e)
  {
      Frame2 frame2 = new Frame2();

     // Je veux ajouter frame1 comme listener
      frame2.addBoutonValiderListener(this);
      frame2.addBoutonAnnulerListener(this);
   }
}
........

public void validation()
{
    lResultat.setText("Validé");
}

public void annulation()
{
    lResultat.setText("Annulé");
}
Au niveau de Frame2 j'ai implémenté ce qu'il faut pour que les méthodes validation() et annulation() soit appellés sur les listeners au moment du clic sur les boutons correspondant.

Le soucis vient des 2 lignes:
frame2.addBoutonValiderListener(this);
frame2.addBoutonAnnulerListener(this);

En effet 'this' correspond non pas à ma frame1 mais à l'ActionListener anonyme que j'ai créé pour bOuvrir.
Comment faire pour pouvoir appeller ces 2 méthodes en passant mon objet frame1 en paramètre?

Merci d'avance pour toute aide