bonjour, j'ai 3 classes Trace et Trace2 et fermeagri dont voici le code :

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
 
public class Trace extends JFrame implements ActionListener
{
	private static final long serialVersionUID = 1L;
	JPanel	paneltrace;	
	GridLayout gdl = new GridLayout(500,500);
 
	public Trace ()
	{	
		paneltrace = new JPanel();
		getContentPane();
		setLayout( null );
		setContentPane(new Graphe1());
 
		setVisible(true);
 
		System.out.println("Trace ok");
	}		
		public class Graphe1 extends JPanel
		{
			public Graphe1()
			{
				System.out.println("graphe 1 debut ok");
				getContentPane();
				setLayout(null);
			}
			public void paintComponent(Graphics g)
			{
				g.drawRect(90, 340, 90, 100);
				g.setColor(Color.blue);
				g.fillRect(100, 490, 70, 70);
				g.setColor(Color.red);
				g.fillRect(100, 610, 70, 70);
				System.out.println("graphe 1 fin ok");
			}              
		}	
}
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
52
53
54
55
56
57
58
59
 
public class Trace2 extends JFrame
{	
 
	protected int lon, lar;
	protected String nomclient;
	protected String tpr;
 
	public Trace2 ()
	{			
		System.out.println("ecriture trace 2 ok 1");
		getContentPane();
		setBackground(Color.WHITE); 
		setContentPane(new Graphe2());
		System.out.println("ecriture trace 2 ok 2");
 
		try {
			System.out.println("ecriture trace 2 ok 3");
			if (Main.connect == null) 
				{	
					...
			System.out.println("ecriture 8tbis ok");
 
			...
 
			System.out.println("lon"+lon+"lar"+lar+" pour trace 2");
 
		        ...
 
		System.out.println("Dessinferme ok trace 2");
	}
		catch (Exception e)
		{
			e.printStackTrace();
		}		
		System.out.println("Trace2 ok");
		//new Graphe2();
	}
 
		public class Graphe2 extends JPanel
		{
			...
 
			public Graphe2()
			{
				getContentPane();
				setLayout(null);
				System.out.println("public Graphe2 ok");
			}
 
			public  void paintComponent(Graphics g)
			{
				try {
					System.out.println("ecriture 7t ok");
					if (Main.connect == null) 
						{
                                                    ...	
						}
}
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
 
public class Fermeagri extends JPanel implements ActionListener
{
    JPanel panelferme;
    ...
public Fermeagri()
{
    panelferme = new JPanel();
    ...
    try {
		...
         }
 
               ...
 
    public void actionPerformed(ActionEvent arg0) {
		 if(arg0.getSource() == OK)
	        {
			 try {
                               ....
                              }
               System.out.println("fermeagri ");
              }
 
               System.out.println("AAAAAAAAAAAAAAAAAAAAAAA");
	       Inscription.tabbedPane.setVisible(false);
	       new Trace();	
	       new Trace2();
	       System.out.println("BBBBBBBBBBBBBBBBBBBBBBBB");
 
                   catch (Exception e) 
				{
					e.printStackTrace();
				}
 
}// fin de classe
le compilateur suit le chemin suivant :
AAAAAAAAAAAAAAAAAAAAAAA
graphe 1 debut ok
Trace ok
ecriture trace 2 ok 1
public Graphe2 ok
ecriture trace 2 ok 2
ecriture trace 2 ok 3
ecriture 8tbis ok
Trace2 ok
BBBBBBBBBBBBBBBBBBBBBBBB
fermeagri


le problème est le suivant : je ne comprends pas pourquoi il retourne dans fermeagri pour l'executer une deuxieme fois alors qu'il ne devrait pas y retourner et aller plutot dans TRACE et TRACE2

pour répondre à ta question nnovic, mon ActionPerformed est appelé depuis la classe Fermeagri.

darrylsite, vous dites qu'elle n'est pas appelée 2 fois mais cela est évident car à partir de ces 3 classes et lors de l'éxécution j'obtiens 4 fenétres au lieu de 2 ! j'obtiens 2 fenétres en double (tracé deux fois et tracé2 deux fois ). j'aimerais éviter cette doublure.
Merci.