2017-09-08 2 views
0

J'essaie de tester la classe KeyListener - quand une touche est/pressé/tapé/publié quelque chose est imprimé, comment puis-je écouter une lettre spécifique, par exemple. quand 'n' est pressé, quelque chose est imprimé. Voici mon code:mettre en œuvre KeyListener

import java.awt.event.KeyEvent; 
import java.awt.event.KeyListener; 


public class Test2 implements KeyListener { 

    public void keyPressed(KeyEvent e){ 

     System.out.println("hello"); 
    } 

    public void keyReleased(KeyEvent e){ 
     System.out.println("hello1"); 
    } 

    public void keyTyped(KeyEvent e){ 
     System.out.println("hello2"); 
    } 
} 

Répondre

0

Vous pouvez utiliser le KeyEvent.getKeyCode() ainsi que les constantes définies dans KeyEvent pour les différents caractères sur un clavier.

Par exemple,

public void keyPressed(KeyEvent e) { 
    if (e.getKeyCode() == KeyEvent.VK_N) { 
     System.out.println("n Pressed"); 
    } 
} 
0

Avec soit

if(event.getKeyChar() == 'n') 
    // do stuff 

Ou

if(event.getKeyCode() == KeyEvent.KV_N) 
    // do stuff 
+0

Ok merci, mais est-il quelque chose de mal avec mon code? parce que ça ne marche pas pour moi. Je ne sais rien quand j'appuie sur une touche. –

+0

Avez-vous enregistré le 'KeyListener'? – n247s

+0

J'ai essayé - en ajoutant addKeyListener (this) dans le constructeur de above class. –