Keycodes

Jorus

Mitglied
Hallo,

wenn ich das KeyPressed Event verarbeite erhalte ich für einen Tastendruck CTRL-1: Key Code: 49 und State Mask: 262144 aber das heißt nicht, das ein Keycode 49+262144 dem Tastendruck CTRL-1 entspricht? Was ich auch nicht verstehe ist der Zusammenhang zwischen VK_Control (17 = 0x11) und dem Wert 262144 (0x40000).
 

Muli

Mitglied
Öh ...

wenn Du die Tastenkombination einfach prüfen möchtest (wovon ich jetzt einfach mal ausgehe), dann mach es wie folgt:
Java:
private void keyPresed(KeyEvent e) {
        if(e.getKeyCode() == e.VK_1 && e.isControlDown()){
            
        }
    }

Du prüfst also den KeyCode gegen eine static Konstante, die bereits in KeyEvent verankert ist.

Du musst nicht gegen eine selbst raus gesuchte Zahl prüfen - Dafür gibt es immer ein Gegenstück. Die CRTL Prüfung zeigt dir danach ob STRG dabei gedrückt wurde.

Wichtig: KeyCodes stehen für Tasten - nicht für Zeichen!

LG,
Mulu
 

nickname

Bekanntes Mitglied
Hi,
vllt noch ein kleiner Tipp. Wenn du mit && und || arbeitest, solltest du wissen, dass bei && es so
abläuft, das der zweite Ausdruck nicht mehr überprüft wird wenn der erste false ist. Nur als kleine Ergänzung...:rtfm:

gruß nickname
 

Jorus

Mitglied
Hallo,

danke, ja der Unterschied zwischen ASCii und Virtual Keys ist klar. Ich versuch nur zu verstehen wie die Modifier Tasten intern behandelt werden.
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben