Verwenden von Keycode in Java
-
Verwendung von
KeyListener
zum Anhören von Tastencodes in Java -
Drucken von Tastencodes und ihre Textbeschreibung mit
KeyEvent.getKeyText()
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:
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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn