Bonjour,
Actuellement, je développe une application en Java
et je rencontre quelques soucis notamment avec le focus
donc voila mon problème:
J'ai une JFrame principale et des JPanel qui lui sont superposés grâce au JLayeredPane
dans chaque JPanel, j'ai différents JTextField, JButton, ...
mais c'est principalement des JTextField
J'ai une fonction qui permet de donner le focus à une JTextField:
Mais j'ai remarqué que quand j'avais que 2 (ou moins) JPanel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static void myRequestFocusInWindow(final JTextField field) { SwingUtilities.invokeLater(new Runnable() { public void run() { field.requestFocusInWindow(); } }); }
superposé(s)
le focus est donné correctement
mais dès lors que j'atteins 3 JPanel, le focus reste sur le JTextField
de la 2e JPanel
ce qui signifie que le focus n'est pas donné correctement
alors que la fonction requestFocusInWindow me retourne bien la valeur true.
Malheureusement, je ne peux pas me passer de ces JPanel superposés
donc je souhaiterais savoir comment résoudre ce problème.
J'ai bien une piste mais elle demande confirmation:
- je crains qu'on ne puisse pas empiler les appels à invokeLater de
SwingUtilities
Merci d'avance pour votre aide
Partager