KeyPressed gibt mir immer 0

Status
Nicht offen für weitere Antworten.

A3XX

Bekanntes Mitglied
Hi

Versuche für die Enter Taste einen KeyEvent zu erstellen. Nur klappt es nicht. Als test habe ich jetzt mal geschrieben:

Code:
public void keyPressed(KeyEvent event){
System.out.println(event.getKeyCode());
}

Aber es wird immer 0 ausgegeben?! Also klappt der Event an sich aber irgendwie klappt das mit dem Code nicht?! Vor dem Test hatte ich:

Code:
public void keyPressed(KeyEvent event){
if(event.getKeyCode() == KeyEvent.VK_ENTER){
System.out.println("Es klappt"); //Nur als test...
}

Da ging aber gar nix

EDIT
Noch was: Wie kann ich zwei Tasten abfangen,a lso gleichzeitig? Z.B. die Kombination Shift + Enter?
 
Benutz stattdessen
Code:
event.getKeyChar()

A3XX hat gesagt.:
Noch was: Wie kann ich zwei Tasten abfangen,a lso gleichzeitig? Z.B. die Kombination Shift + Enter?
Dafür würde ich eine Hashmap verwenden. Bei KeyTyped speicherst du die Taste, und bei KeyReleased entfernst du sie wieder.
 
Ok mit getKeyChar() klappts. Wie sieht es mit der Enter taste aus? ist dies auf allen Systemen backslash und n?
 
Meinst du jetzt im Key-Event?
Einfach 10 oder VK_ENTER. In Strings würde ich mit System.getProperty("line.seperator") arbeiten.
 
Danke erstmal. Das mit den zwei Tasten konnte ich jetzt schön so lösen. Nun aber doch noch mal zu diesem System.getProperty("line.separator")

Wie kann ich dieses if funktionsfähig machen:
if(event.getKeyChar() == System.getProperty("line.separator"))

Also wie kann man Chars zu String casten? Hab noch nie mit Chars gearbeitet 😱
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben