Bonjour ,

Exception in thread "main" java.lang.StackOverflowError

J'obtiens ce message sur un petit programme de test.Je veux juste pour clarifier mon code gérer les événements dans une classe indépendante de ma classe principale .
voici le code de la classe principale :

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
// Creation d'une fenetre et test d'une classe listener indépendante
 
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
 
class Fenetre extends JFrame
{
    // Les attributs
	 JMenu Fichier ;
	 JMenuItem Ouvrir ; 
	 JMenuBar Menubar ;
 
	 // Pour gérer les evnts on a besoin d'une instance de Gestion_Fenetre 
 
	Gestion_Fenetre  mon_Gestion_Fenetre ;
 
 
	 // Le constructeur
 
	 public Fenetre()
	 {
	 mon_Gestion_Fenetre = new Gestion_Fenetre();
	 Menubar = new JMenuBar();
	 this.setJMenuBar(Menubar) ;
	 Fichier = new JMenu("Fichier") ;
	 Ouvrir = new JMenuItem("Ouvrir") ;
	 Fichier.add(Ouvrir) ;
	 Menubar.add(Fichier);
	 Ouvrir.addActionListener(mon_Gestion_Fenetre);
	 this.setVisible(true);
	 this.setSize(400,400);
	 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	 }
 
	 // Les méthodes
 
 
} // Fin de la classe Fenetre
 
// La classe de Test
 
public class Test_Fenetre
{
 
   public static void main (String []argv)
	{
	Fenetre essai = new Fenetre() ;
	}
} // Fin de ma classe de test
Et voici le code de ma classe qui gére les événements

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
25
26
27
28
29
30
31
32
33
34
35
36
37
 
/* Pour gérer les événements par rapport à notre fenetre
 On crée une classe à part chargée de gérer les événements
 cette classe hérite de java.evnt et est implémentée dans la 
 classe principale */
 
import java.awt.event.* ;
 
 
 
 class Gestion_Fenetre implements ActionListener
 {
     // Les attributs
	  //ActionEvent e ;
	  Fenetre essai ; 	  
	  // Le constructeur
 
	  public Gestion_Fenetre ()
	  {
	  essai = new Fenetre() ;
	  } // Fin du constrcteur  
 
 
	  // Les méthodes
 
		 // Cette classe ne fait qe redéfinir la méthode ActionPerformed
 
		 public void actionPerformed (ActionEvent e)
		 {
 
		     if ( e.getSource() ==essai.Ouvrir )
			  System.out.println("Le test a réussi ");
 
		 } // fin de la redéfinition
 
 
}// Fin de ma classe
D'après les recherches que j'ai faite,le message indiquerai que le programme effectue ne boucle infinie,mais où est l'erreur.

Merci