Bjr à tous !
Voilà je rencontre des difficultés dans l'utilisation du requestfocusInWindow() dans un JTextfield.
En fait j'ai trois champs dans une fenêtre et un bouton de validation. Dans chaque champ texte, j'ai ajouté un focusAdapter pour implémenter l'évènement focusLost. Le code dans cette fonction se présente ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
    if ("".equalsIgnorecase(monchamp.gettext())
 
        monchamp.requestfocusInWindow()
Dans le champ bouton j'ai ajouté un actionlistener qui implante un actionevent dans lequel je fais des contrôles sur les valeurs dans chaque champ texte. si le champ est vide alors j'appelle la fonction monchamp.requestfocusInWindow().

Au démarrage de mon programme, par défaut le focus est dans le premier champ de la fenêtre. SI je fais une tabulation sans faire de saisie dans le champ, je constate que le premier champ et le champ qui reçoit la tabulation se dispute le focus. A l'image on voit le curseur qui va du premier champ à l'autre et se répète incessamment jusqu'à ce que l'utilisateur saisisse un caractère sur le clavier.

Si par contre je clique directement sur le bouton de validation sans remplir aucun champ, le programme traverse tous les contrôles et exécute le reste du code. Ainsi requestfocusInWindow() ne fonctionne pas.

Je suis un peu coincé par cette état je souhaiterai que quelqu'un m'explique un peu son utilisation.