Bonjour,

J'ai un problème avec les fenetre d'une application Java.
L'application est simple on a une class A et une class B.

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
public class A
{
    public static void main(String[] args)
    {
        new A().afficher();
    }
 
    JFrame fenetre;
    JButton valider;
 
    public void afficher()
    {
        fenetre = new JFrame();
        valider = new JButton();
 
        fenetre.setTitle("Un jeu de coloration");
	fenetre.setSize(250, 130);
	fenetre.setResizable(false);
	fenetre.setLocationRelativeTo(null);
	fenetre.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
        valider.addActionListener(new ValiderListener());
        fenetre.add(valider);
 
        fenetre.setVisible(true);
    }
 
    class ValiderListener implements ActionListener
    {
        public void actionPerformed(ActionEvent arg0)
        {
        B uneAutreFenetre = new B();
	fenetre.setVisible(false);
	fenetre.dispose();
	fenetre = null;
	uneAutreFenetre.afficher();
        }
    }
}
Pour la class B c'est à peu près la meme chose à part que c'est la fenetre qui est écouter par une class implémenter de l'interface KeyListener voici la fonction KeyReleased de cet class

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public void keyReleased(KeyEvent e)
{
        if(e.getKeyChar() == 'n' || e.getKeyChar() == 'N')
	{
		fenetre.setVisible(false);
		fenetre.dispose();
		fenetre = null;
		new A().afficher();
	}
}
Le problème est que quand je passe de l'un à l'autre des fois ça marche et des fois ça ne marche pas (j'ai remarqué quand on essaye de passer rapidement de l'une à l'autre ça ne marche pas) j'obtiens une fenetre vierge pas centré avec des dimmension plus grande que celle normalement indiquer.

Je comprend pas le problème.

Merci d'avance.