Bonjour,

Depuis plusieurs mois, je me familiarise avec les subtilités d'AWT/Swing. Je rencontre aujourd'hui un problème que je ne m'explique pas:

Soit une applet comprenant un JButton auquel j'ai ajouté un Listener comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
this.bouton.addActionListener(
    new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            this.fenetre2.setVisible(true);
            this.fenetre2.toFront();
        }
    }
);
Ce bouton est supposé, sur un clic, ouvrir la JFrame fenetre2, la mettre au premier plan et lui donner le focus. À cette JFrame, j'ai ajouté le Listener suivant pour tracer son comportement en cas de focus:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
new WindowAdapter() {
    public void windowGainedFocus(WindowEvent e) {
        System.out.println("Gained");
    }
    public void windowLostFocus(WindowEvent e) {
        System.out.println("Lost");
    }
}
Mais voilà, je constate qu'en cliquant sur le bouton:
- la JFrame désirée s'ouvre bel et bien, se met au premier plan et y reste;
- par contre, elle gagne le focus... avant de le perdre aussitôt!

Des plus expérimentés que moi auraient-il une explication à ce phénomène indésirable ? D'avance, je vous en remercie !

Ma configuration de travail:
OS: Windows XP
Java: 1.5
Navigateur: IE6

Bien à vous !