Bonsoir à tous,
Je cherche un moyen pour obtenir le nom de l'objet qui a le focus dans un JFrame. Y aurait-il dja une fonction ou un bout de code déjà tout fait?
Un grand merci.
Version imprimable
Bonsoir à tous,
Je cherche un moyen pour obtenir le nom de l'objet qui a le focus dans un JFrame. Y aurait-il dja une fonction ou un bout de code déjà tout fait?
Un grand merci.
Il suffit de regarder la doc de JFrame...
Code:
1
2 getFocusOwner()
J'ai essayé cette méthode mais avec un retour de nullpointerException. Qu'est-ce que je n'ai pas fait correctement?
Merci!!
jTextField1.requestFocus();
System.out.println("val="+this.getFocusOwner().toString());
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
D'après la doc, null => aucun composant n'a le focus
Citation:
getFocusOwner
public Component getFocusOwner() Returns the child Component of this Window that has focus if this Window is focused; returns null otherwise.
Returns:the child Component with focus, or null if this Window is not focusedSee Also:getMostRecentFocusOwner(), isFocused()
Un peu bizarre car le jtextfield semble bien l'avoir le focus... Ce que je ne comprend pas, c'est qu'ils disent que la "window" doit avoir le focus alors qu'en soit, le focus est donné à un enfant du window... Quelles sont les conditions à remplir pour que cela fonctionne?
Merci
Après test, je dois bien reconnaître que ça ne marche pas finement:calim2:
La solution "standard" d'après quelques recherches et essais consiste à faire un listener et de l'affecter à tous les composants voulus...
Ça fonctionne, mais c'est lourd...
Merci pour ta réponse. C'est ce qu'il me semblait avoir lu aussi mais bon, comme tu dis, fort lourd. Il vaut peut-être mieux dans ce cas-là faire des tests (hasfocus) sur les tous les composants d'un window. Je laisse en attente ce sujet au cas où il existerait une autre solution plus simple.
Encore merci!!