Frage von marco74774, 37

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

Hey Leute,

schreibe gerade einen "kleinen Roboter" mit der Robot Class, welche KeyEvents verwendet. Nun brauche ich aber ein Scharfes S (ß), weiß aber den KeyCode nicht, weiß ihn zufällig jemand? Danke schon mal im Vorraus

Antwort
von rmnstr, 20

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#getExtende...

if (event.getExtendedKeyCode() == KeyEvent.getExtendedKeyCodeForChar('ß')) {
// do stuff
}
Expertenantwort
von KnusperPudding, Community-Experte für Java, 21

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
von Star4Fun, 21

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

Kommentar von marco74774 ,

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?

Kommentar von Star4Fun ,

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

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten