Verwenden von Keycode in Java

Rupam Yadav 12 Oktober 2023
  1. Verwendung von KeyListener zum Anhören von Tastencodes in Java
  2. Drucken von Tastencodes und ihre Textbeschreibung mit KeyEvent.getKeyText() in Java
Verwenden von Keycode in Java

Heute werden wir uns die Tastencodes ansehen, die die Tasten auf unserer Tastatur darstellen. Ein Tastencode ist ein ganzzahliger Code, der einem KeyEvent-Objekt zugeordnet ist.

Verwendung von KeyListener zum Anhören von Tastencodes in Java

In diesem Beispiel erstellen wir einen Rahmen und fügen unten ein Eingabefeld mit zwei Beschriftungen hinzu. Wenn wir eine beliebige Taste auf unserer Tastatur in das Feld eingeben, geben die Beschriftungen einige Informationen über die Tasten.

Im folgenden Programm erstellen wir eine Klasse JavaKeycodeExample, die die Klasse Frame erweitert und die Schnittstelle KeyListener implementiert. Die Klasse Frame stellt uns ein Fenster zur Verfügung, um das Eingabefeld und die Beschriftungen zu platzieren, während wir mit Hilfe der Schnittstelle KeyListener ihre drei Methoden überschreiben können, die uns helfen, die Schlüsselereignisse zu identifizieren.

In der Klasse JavaKeycodeExample erstellen wir zwei Labels, label1 und label2, und ein Textfeld textField, das die Eingabe übernimmt. Wir initialisieren und setzen die Größe der AWT-Komponenten, um sie dem Frame hinzuzufügen.

Mit addKeyListener() fügen wir dem textField einen KeyListener hinzu. Wir haben die Schnittstelle KeyListener implementiert, also müssen wir ihre drei Methoden überschreiben, nämlich keyPressed(), die die gedrückte Taste aufzeichnet, keyTyped(), die die eingegebene Taste identifiziert, und die letzte Methode, die keyReleased() aufruft wenn die gedrückte Taste losgelassen wird.

Für dieses Beispiel verwenden wir hauptsächlich die Methode keyPressed(), die ein KeyEvent-Objekt e erhält, wenn eine Taste im Eingabefeld gedrückt wird. Um den Tastencode gedrückt zu bekommen, rufen wir die Methode getKeyCode() mit dem KeyEvent-Objekt auf und verketten das Ergebnis mit einem String.

Wir erhalten auch den Text, der den Tastencode darstellt, indem wir die Methode KeyEvent.getKeyText() verwenden und e.getKeyCode() übergeben. Zuletzt setzen wir beide Strings auf die Labels label1 und label2.

In der Ausgabe können wir beobachten, dass wir im Textfeld die Taste k auf der Tastatur gedrückt haben; Das erste Etikett druckt den Tastencode, während das zweite Etikett den Schlüsseltext anzeigt.

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();
  }
}

Ausgabe:

Java-Tastencode

Drucken von Tastencodes und ihre Textbeschreibung mit KeyEvent.getKeyText() in Java

Es gibt viele Tastencodes, die die Tasten auf der Tastatur darstellen, und in diesem Programm drucken wir einige davon. Wir erhalten den Tastencode und den Schlüsseltext, der ihn beschreibt, indem wir eine for-Schleife verwenden, die bei 0 beginnt und bis 50 läuft.

In der Schleife, in der jeder Wert der Schleife ein Tastencode sein kann, holen wir uns den Tastentext mit der Funktion KeyEvent.getKeyText() und übergeben den Tastencodewert.

Beachten Sie, dass nicht jeder ganzzahlige Wert einen Tastencode darstellt und möglicherweise einen Tastentext von Unknown keyCode zurückgibt; also prüfen wir, ob der String keyCodeText den Text enthält oder nicht. Wenn es sich um einen gültigen Tastencode handelt, werden sowohl der Tastencode als auch der Tastencodetext gedruckt.

In der Ausgabe sehen wir, dass die linke Seite des Pfeils der Tastencode und die rechte Seite des Pfeils die Textbeschreibung des Tastencodes ist.

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);
      }
    }
  }
}

Ausgabe:

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
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