下面的字符是俄语字符
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”显示的那样,我如何才能使它对俄罗斯字符起作用。
发布于 2019-05-17 20:44:23
KeyStroke上的toString()方法是从
按下修饰符文本(ctrl、alt、...)
onKeyRelease标志KeyEvent (AWTKeyStroke.getVKText(keycode))中与常量对应的VK (虚拟键)文本
您的代码一切正常,只是在KeyEvent类中'П‘键没有对应的VK_常量。有关所有可识别常量的列表,请参见KeyEvent Javadoc, Constants。
是否要提取与按下的键对应的字符?在这种情况下,请使用:
char c = (char) keyStroke.getKeyCode();https://stackoverflow.com/questions/56186360
复制相似问题