Question

This key event is not working. The same code is working for,

VK_SPACE

Its not working for control

private void jTextArea1KeyPressed(java.awt.event.KeyEvent evt) {
    if ((evt.getKeyChar() == KeyEvent.VK_CONTROL)) {
        System.out.println("CONTROL IS PRESSED");
    }
} 
Was it helpful?

Solution

Don't use getKeyChar in combination with those VK_ constants. Use getKeyCode instead. getKeyChar is for printable keys only, which result in a character being printed in normal operations. getKeyCode, on the other hand, is intended to give you the code (i.e. the VK_ constant) of the key pressed, even if there is no associated character (as in the case of Ctrl).

See also this answer.

OTHER TIPS

There is a method on the java.awt.event.KeyEvent just for your purpose - isControlDown()

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top