下字符是俄语字符

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”的显示方式一样,如何使它适用于俄语字符。

最佳答案

toString()上的KeyStroke方法是从


修饰符文本(ctrl,alt,...)
取决于onKeyRelease标志是“释放”还是“按下”
KeyEventAWTKeyStroke.getVKText(keycode))中的常量相对应的VK(虚拟密钥)文本


您的代码一切都很好,在VK_类中只有'П'键没有相应的KeyEvent常量。有关所有可识别常量的列表,请参见KeyEvent Javadoc, Constants

是否要提取与按下的键相对应的字符?
在这种情况下,请使用:

char c = (char) keyStroke.getKeyCode();

09-07 01:52