此关键事件无效。相同的代码适用于
VK_SPACE
它无法控制
private void jTextArea1KeyPressed(java.awt.event.KeyEvent evt) {
if ((evt.getKeyChar() == KeyEvent.VK_CONTROL)) {
System.out.println("CONTROL IS PRESSED");
}
}
答案 0 :(得分:3)
java.awt.event.KeyEvent
上的方法只是出于您的目的 - isControlDown()
答案 1 :(得分:3)
没有理由使用KeyListener
或KeyBindings
或AWTEventDispatch
DocumentListener将JTextComponents用于JTextCompoent
以外的事件
答案 2 :(得分:3)
不要将getKeyChar
与VK_
常量结合使用。请改用getKeyCode
。 getKeyChar
仅适用于可打印的键,这会导致在正常操作中打印字符。另一方面,getKeyCode
旨在为您提供按下的键的代码(即VK_
常量),即使没有关联的字符(如Ctrl的情况)。< / p>
另见this answer。