下面的字符是俄语字符
KeyStroke.getKeyStroke('П', ActionEvent.CTRL_MASK).getKeyCode(); // returns (int) 1055
KeyStroke.getKeyStroke(1055, ActionEvent.CTRL_MASK); //returns (javax.swing.KeyStroke) ctrl pressed UNKNOWN
但适用于像'C'这样的字符
KeyStroke.getKeyStroke('C', 2).getKeyCode(); // returns (int) 67
KeyStroke.getKeyStroke(67, ActionEvent.CTRL_MASK); //returns (javax.swing.KeyStroke) ctrl pressed C
它只是显示字符'C'的方式,如何使它适用于俄语字符。
答案 0 :(得分:0)
toString()
上的KeyStroke
方法是从
onKeyRelease
标志KeyEvent
(AWTKeyStroke.getVKText(keycode)
)中的常量相对应的VK(虚拟密钥)文本您的代码一切都很好,在VK_
类中只有'П'键没有相应的KeyEvent
常量。有关所有可识别的常数的列表,请参见KeyEvent Javadoc, Constants。
是否要提取与按下的键相对应的字符? 在这种情况下,请使用:
char c = (char) keyStroke.getKeyCode();