Comment détecter les frappes de touche en Java

Savoir quand un utilisateur appuie sur une certaine touche est important.

Étape 1

Créez une classe simple qui crée et affiche un JFrame pour le moment:

importer java.awt.Dimension; importer java.lang.reflect.InvocationTargetException;

importer javax.swing.JFrame; importer javax.swing.SwingUtilities;

classe finale publique KeyPressTester implémente Runnable {

public statique void main (String [] args) lève InterruptedException, InvocationTargetException {SwingUtilities.invokeAndWait (new KeyPressTester ()); }

@Override public void run () {frame = new JFrame ("KeyPress Tester");

frame.setSize (nouvelle dimension (800, 600)); frame.setVisible (true); }

cadre JFrame privé; }

Étape 2

Modifiez la méthode run () pour ajouter un KeyListener au framework avec l'implémentation suivante:

frame.addKeyListener (new KeyListener () {

@Override public void keyTyped (KeyEvent e) {
}

@Override public void keyReleased (KeyEvent e) {
}

@Override public void keyPressed (KeyEvent e) {System.out.println ("Caractère de la clé:" + e.getKeyChar () + "; Code de la clé:" + KeyEvent.getKeyText (e.getKeyCode ())); }});

Étape 3

Compiler et exécuter le programme. Si vous appuyez sur une touche lorsque le cadre a le focus, vous devriez voir une sortie de la console décrivant la touche enfoncée, y compris le caractère de texte actuel (si disponible) et le texte de la touche, tels que Maj, Ctrl, Retour arrière, etc.