首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swing的KeyStroke.getKeyStroke()返回未知

Swing的KeyStroke.getKeyStroke()返回未知
EN

Stack Overflow用户
提问于 2019-05-17 20:23:07
回答 1查看 63关注 0票数 0

下面的字符是俄语字符

代码语言:javascript
复制
KeyStroke.getKeyStroke('П', ActionEvent.CTRL_MASK).getKeyCode(); // returns (int) 1055
KeyStroke.getKeyStroke(1055, ActionEvent.CTRL_MASK); //returns (javax.swing.KeyStroke) ctrl pressed UNKNOWN

但适用于像'C‘这样的字符

代码语言:javascript
复制
KeyStroke.getKeyStroke('C', 2).getKeyCode(); // returns (int) 67
KeyStroke.getKeyStroke(67, ActionEvent.CTRL_MASK); //returns (javax.swing.KeyStroke) ctrl pressed C

就像它为字符“C”显示的那样,我如何才能使它对俄罗斯字符起作用。

EN

回答 1

Stack Overflow用户

发布于 2019-05-17 20:44:23

KeyStroke上的toString()方法是从

按下修饰符文本(ctrl、alt、...)

  • 'released‘或’‘,这取决于onKeyRelease标志
  • KeyEvent (AWTKeyStroke.getVKText(keycode))

中与常量对应的VK (虚拟键)文本

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

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

代码语言:javascript
复制
char c = (char) keyStroke.getKeyCode();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56186360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档