OK, merci pour l'aide. Je suppose que je n'étais pas clair, mais j'ai maintenant trouvé un moyen de faire fonctionner mon code grâce à certaines de vos idées.
J'avais déjà pensé à créer une méthode privée appelée par les deux fonctions, mais une partie du code doit savoir sur quel JTextField l'utilisateur est cliqué. J'ai découvert .getFocusOwner(), ce qui me permet de référencer l'élément en cours avec Focus (le JTextField). Quelque chose comme ça
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
Object which = JFrame.getFocusOwner();
if(which.getClass() == JTextField.class)
foo(which);
}
}
public void mouseClicked(MouseEvent e) {
Object which = e.getSource();
if(which.getClass()== JTextField.class) {
foo(which);
}
}
Il y avait probablement une meilleure façon de le faire, mais au fond j'avais un tableau de JTextFields et le programme fonctionnait correctement lorsque les utilisateurs ont cliqué sur la prochaine JTextField, mais lorsque vous appuyez sur entrer, je ne l'ai pas savoir comment appeler le JTextField qui vient d'être saisi alors j'ai voulu simuler un clic sur le JTextField (qui appelle la mise au point). Je suppose que je devrais avoir expliqué tout mon problème.
Merci.
Lorsque vous cliquez sur un champ de texte, le curseur est positionné sur le caractère sur lequel vous avez cliqué. Donc, avoir "Entrer faire exactement la même chose n'a aucun sens, puisque nous ne savons pas quel personnage vous voulez faire semblant que vous avez cliqué dessus." Puisque vous ne pouvez pas décrire votre exigence, publiez un SSCCE: http: // sscce. – camickr