我想将keyevent键码值转换为字符串或char值。任何人都会这样做。
例如,当我按下'SPACE'时,'让我们说'有一个键码20,我想将该值转换为char或字符串。有没有标准的方法,或者我必须为键盘上的每个键写一堆'if'语句?
答案 0 :(得分:9)
将其投射到char
char c =(char)keycode;
答案 1 :(得分:5)
如果e是KeyEvent的变量参数,请使用
e.getKeyText(e.getKeyCode())
但最好在KeyEvent的静态上下文中使用它
KeyEvent.getKeyText(e.getKeyCode())
它返回一个字符串,但您可以转换为或获取其他可解析数据类型中返回的字符串的值
答案 2 :(得分:1)
一种方法是加载Map中的所有值,然后获取每个按下的键的值。就像你按一个SPACE-KEY并输入20,只需从地图中获取与该键相关的值并使用它。
答案 3 :(得分:0)
与Reujoe相似的另一个选项是使用getKeyChar()
(如果它们具有KeyEvent变量)。
e.getKeyChar()
它以Char
的形式返回键码的字符表示形式
答案 4 :(得分:0)
仅将其强制转换为字符,但不使用大写c标记:
char c = (char) 20;