KeyTypedEvent KeyEvent du mot de Code est toujours 0?
J'ai une application Java Swing dans l'EDI NetBeans.
J'ai fait un formulaire et joint un KeyListener de mes diverses commandes en tant que tel:
jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
keyTypedEvent(evt);
}
});
et keyTypedEvent
est définie comme suit:
private void keyTypedEvent(java.awt.event.KeyEvent evt)
{
System.out.println(evt);
appendDisplay(String.valueOf(evt.getKeyChar()));
}
J'ai ajouté un println
à la evt
pour voir ce qui se passe et de vérifier que mon keylistener fonctionne.
Lorsque je créer et exécuter mon application, j'ai réalisé que la sortie semble toujours avoir un keycode = 0
Pour vérifier cela, j'avais changé mon println être evt.getKeyCode()
et il est toujours en renvoyant 0.
Je pourrais être complètement mal interprété ce mot de Code, mais j'ai pensé qu'il serait correspondaient avec les valeurs Oracle de la documentation ici:
http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.event.KeyEvent.VK_ESCAPE
Par exemple, VK_ESCAPE a une valeur de 27.
OriginalL'auteur Rhs | 2013-02-05
Vous devez vous connecter pour publier un commentaire.
La
keyTyped()
événement est uniquement utilisé pour les touches qui produisent de l'entrée de caractères. Si vous souhaitez savoir quand une touche est enfoncée ou relâchée, vous avez besoin pour mettre en œuvrekeyPressed()
oukeyReleased()
.De la KeyEvent API:
OriginalL'auteur Russell Zahniser
toute suggestion au sujet de
KeyListener
pourJButton
sont mauvais, sensButton1.addKeyListener(new java.awt.event.KeyAdapter() {
ces événements sont mis en œuvre correctement et dans
JButtons API
, utilisezSwingAction
ou ajouterActionListener
pour écouterMouse and Key Event
à partir de/àJButton
fondamentalement, tout est décrit dans Oracle tutoriel sur Comment Utiliser les Boutons, les Cases à Cocher et des Boutons Radio
OriginalL'auteur mKorbel
Très dépend de la touche qui a été pressée. Probablement vous avez besoin d'
KeyListener
aveckeyPressed
méthode de remplacement, parce quekeyTyped
ne se déclenche pas sur les caractères non-imprimables.Regardez la différence entre
keyTyped
etkeyPressed
ici:KeyListener, keyPressed contre keyTyped
OriginalL'auteur mishadoff