Utilisation de Keycode en Java

Rupam Yadav 12 octobre 2023
  1. Utilisation de KeyListener pour écouter les codes de clé en Java
  2. Imprimer les codes clés et leur description textuelle à l’aide de KeyEvent.getKeyText() en Java
Utilisation de Keycode en Java

Aujourd’hui, nous allons examiner les codes de touches qui représentent les touches de notre clavier. Un code clé est un code entier affecté à un objet KeyEvent.

Utilisation de KeyListener pour écouter les codes de clé en Java

Dans cet exemple, nous créons un cadre et ajoutons un champ de saisie avec deux étiquettes en bas. Lorsque nous entrons une touche de notre clavier dans le champ, les étiquettes donneront des informations sur les touches.

Dans le programme ci-dessous, nous créons une classe JavaKeycodeExample qui étend la classe Frame et implémente l’interface KeyListener. La classe Frame nous fournit une fenêtre pour placer le champ de saisie et les étiquettes, tandis qu’avec l’aide de l’interface KeyListener, nous pouvons remplacer ses trois méthodes qui nous aident à identifier les événements clés.

Dans la classe JavaKeycodeExample, nous créons deux étiquettes, label1 et label2, et un champ de texte textField qui prend l’entrée. Nous initialisons et fixons la taille des composants AWT pour les ajouter au Frame.

Nous ajoutons un KeyListener au textField en utilisant addKeyListener(). Nous avons implémenté l’interface KeyListener, nous devons donc remplacer ses trois méthodes qui sont keyPressed() qui enregistre la touche enfoncée, keyTyped() qui identifie la touche tapée, et la dernière méthode keyReleased() invoque lorsque la touche enfoncée est relâchée.

Pour cet exemple, nous utilisons principalement la méthode keyPressed(), qui reçoit un objet KeyEvent e chaque fois qu’une touche est enfoncée dans le champ de saisie. Pour obtenir le code de la touche enfoncée, nous appelons la méthode getKeyCode() en utilisant l’objet KeyEvent et concaténons le résultat avec une chaîne.

Nous obtenons également le texte qui représente le code de la clé en utilisant la méthode KeyEvent.getKeyText() et en passant e.getKeyCode(). Enfin, nous définissons les deux chaînes sur les étiquettes label1 et label2.

Dans la sortie, nous pouvons observer que nous avons appuyé sur la touche k du clavier dans le champ de texte ; la première étiquette imprime le code de la clé tandis que la seconde étiquette affiche le texte de la clé.

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

public class JavaKeycodeExample extends Frame implements KeyListener {
  Label label1;
  Label label2;
  TextField textField;

  public JavaKeycodeExample() {
    label1 = new Label();
    label1.setBounds(120, 220, 200, 20);

    label2 = new Label();
    label2.setBounds(120, 250, 200, 20);

    textField = new TextField();
    textField.setBounds(100, 100, 200, 100);
    textField.addKeyListener(this);

    add(label1);
    add(label2);
    add(textField);
    setSize(350, 350);
    setLayout(null);
    setVisible(true);
  }

  public void keyPressed(KeyEvent e) {
    String keyCodeString = "Last Key Code Pressed : " + e.getKeyCode();
    String keyCodeAsTextString = "You pressed : " + KeyEvent.getKeyText(e.getKeyCode());
    label1.setText(keyCodeString);
    label2.setText(keyCodeAsTextString);
  }

  @Override
  public void keyTyped(KeyEvent e) {}

  @Override
  public void keyReleased(KeyEvent e) {}

  public static void main(String[] args) {
    new JavaKeycodeExample();
  }
}

Production :

code clé java

Imprimer les codes clés et leur description textuelle à l’aide de KeyEvent.getKeyText() en Java

Il existe de nombreux codes de touches représentant les touches du clavier, et dans ce programme, nous en imprimons certains. Nous obtenons le code clé et le texte clé qui le décrit à l’aide d’une boucle for qui commence à partir de 0 et court jusqu’à 50.

Dans la boucle, où chaque valeur de la boucle peut être un code clé, nous obtenons le texte clé à l’aide de la fonction KeyEvent.getKeyText() et transmettons la valeur du code clé.

Notez que toutes les valeurs entières ne représentent pas un code de clé et peuvent renvoyer un texte de Unknown keyCode ; ainsi, nous vérifions si la chaîne keyCodeText contient le texte ou non. S’il s’agit d’un code clé valide, il imprime à la fois le code clé et le texte du code clé.

Dans la sortie, nous observons que le côté gauche de la flèche est le code clé et le côté droit de la flèche est la description textuelle du code clé.

import java.awt.event.KeyEvent;

public class JavaKeycodeExample {
  public static void main(String[] args) {
    for (int keyCode = 0; keyCode < 50; ++keyCode) {
      String keyCodeText = KeyEvent.getKeyText(keyCode);
      if (!keyCodeText.contains("Unknown keyCode")) {
        System.out.println(keyCode + " ---> " + keyCodeText);
      }
    }
  }
}

Production :

3 ---> Cancel
8 ---> Backspace
9 ---> Tab
10 ---> Enter
12 ---> Clear
16 ---> Shift
17 ---> Ctrl
18 ---> Alt
19 ---> Pause
20 ---> Caps Lock
21 ---> Kana
24 ---> Final
25 ---> Kanji
27 ---> Escape
28 ---> Convert
29 ---> No Convert
30 ---> Accept
31 ---> Mode Change
32 ---> Space
33 ---> Page Up
34 ---> Page Down
35 ---> End
36 ---> Home
37 ---> Left
38 ---> Up
39 ---> Right
40 ---> Down
44 ---> Comma
45 ---> Minus
46 ---> Period
47 ---> Slash
48 ---> 0
49 ---> 1
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn