java swing: Focus perdu sur la touche entrée de l'événement

J'ai un bouton dans ma boîte de dialogue. Après avoir appuyé sur la touche enter dans ce dilog, les actions affectée à ce bouton est appelé un par un.

public void buttonAction1() { }
....
public void buttonAction2() { }

Dans ma boîte de dialogue j'ai aussi un champ de texte sur lequel l'accent a perdu événement est écouté. Chaque fois qu'initialement l'accent est à l'intérieur que textfield, je clique sur l'onglet ou à l'aide de la souris je clique sur le bouton, l'accent a perdu événement est appelé et ouvre une popup. Cette fenêtre permet de définir la valeur à l'intérieur de la zone de texte. Cette valeur sera utilisée par action sur le bouton appuyez sur.

public void focusLostAction() { }

Maintenant la question est que, lorsque le focus se trouve à l'intérieur du champ de texte et j'ai appuyer sur la touche enter, l'accent a perdu événement n'est pas appelé. Si le Pop-up n'est pas ouvert et et de valeurs propres ne sont pas définies à l'intérieur de cette zone de texte. mais en raison pour entrer la clé de l'événement, une action sur que particulier bouton est appelé et cette action est impossible de trouver la bonne valeur à l'intérieur de la zone de texte.

À l'intérieur de la méthode d'action, qui sont appelés à entrer la clé de l'événement, j'ai essayé de mettre l'accent sur le bouton manuellement à l'aide de:

public void buttonAction1() {
    button.requestFocusInWindow();
}

public void buttonAction2() {
    //do the remaining task
} 

J'ai aussi essayé d'utiliser, bouton.requestFocus;

Je m'attendais à ce que le réglage de la mise au point manuellement sur ce bouton pour appeler lâche le focus du champ de texte et de se concentrer perdu événement peut être appelé (ce qui est mis en œuvre en séparer swing thread de travail). Mais ça ne fonctionne pas. S'il vous plaît laissez-moi savoir, Si vous avez fait face à cette question tout à l'heure et la solution pour le même.
Merci.

Pour mieux aider plus tôt, après une SSCCE. Quel est le problème si l'objet perdu de l'événement n'est pas appelé? Lorsque vous appelez requestFocus sur ce bouton?
Exactement où vous avez écrit button.requestFocusInWindow();, car si vous appuyez sur ENTER clé à l'intérieur de la JTextField puis le actionPerformed(...) méthode sera appelée et de ne pas le focusLost(...)Et si vous écrivez la ligne ci-dessus à l'intérieur de la actionPerformed() attaché avec le JTextField, alors seulement le focusLost() méthode permettra d'obtenir de l'appel.
J'ai mis à jour la requête comme suggéré par Guillaume. Suis-je le faire dans incprrect?
Il n'y a rien dans votre question, qui est une SSCCE.

OriginalL'auteur user613114 | 2012-07-17