Wie kann ich bei einem Key Event in der Roboterklasse in Java ein Scharfes S (ß) schreiben, wie lautet hier der KeyCode?

... komplette Frage anzeigen

3 Antworten

Um das relativ simpel raus zu bekommen, erstellst du dir eine Testklasse.

In der Main-Methode erstellst du einen Frame, an den du einen Keylistener anhängst, indem du dir ausgeben lässt, welche Taste gedrückt wird:

System.out.println("KeyChar: " + String.valueOf(new char[]{event.getKeyChar()}) + " KeyCode" + event.getKeyCode() + " Extended KeyCode: " + event.getExtendedKeyCode());
Antwort bewerten Vielen Dank für Deine Bewertung

Laut Dokumentation:

Not all characters have a keycode associated with them. For example,
there is no keycode for the question mark because there is no keyboard
for which it appears on the primary layer.

(http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html)

ß ist offensichtlich einer dieser Fälle. Dafür gibt es aber für jeden Charakter einen "extendedKeyCode".

http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html#getExtendedKeyCode

if (event.getExtendedKeyCode() == KeyEvent.getExtendedKeyCodeForChar('ß')) {
// do stuff
}
Antwort bewerten Vielen Dank für Deine Bewertung

Moin
Du könntest dies mal probieren: KeyEvent.getExtendedKeyCodeForChar('ß')
kann dir aber nicht garantieren das das funktioniert.
LG

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von marco74774
06.04.2016, 11:23

funktioniert leider nicht:/aber er meckert auch nicht, irgendwie gehen bei mir die KeyEvents für Backslash, Slash und so nicht...Ich muss Slash über 7 + SHIFT machen, normal müsste das doch auch über KeyEvent_KV_SLASH gehen... brauch ich da irgend einen Import?

0
Kommentar von Star4Fun
06.04.2016, 22:16

Müsstest mir mal den Code schicken evtl kann ich dir dann helfen

0

Was möchtest Du wissen?