2013-04-13 43 views
3

我想将keyevent键码值转换为字符串或char值。任何一个都可以。Java将键码转换为字符串或字符

例如,当我按'SPACE'时,'可以说'有一个键码20,并且我想将该值转换为字符或字符串。有没有这样做的标准方法,或者我必须为键盘上的每个键写一堆'if'语句?

+1

您的意思是类似于[KeyEvent.getKeyText()](http://docs.oracle.com/javase/6/docs/api/java/awt/event/KeyEvent的.html#getKeyText%28int 29%)? –

回答

10

将其转换为字符

char c =(char)keycode;

+0

这个作品只适用于简单(ascii)字符 – bluevoid

+0

那很简单O_O谢谢! – user2098268

1

一种方法可能是加载地图中的所有值,并只获取每个按键的值。就像按下SPACE-KEY并将输入值设为20一样,只需从地图中获取与该键相关的值并使用它即可。

3

如果e该KeyEvent的可变参数,使用

e.getKeyText(e.getKeyCode()) 

,但最好使用它的KeyEvent静态上下文

KeyEvent.getKeyText(e.getKeyCode()) 

它返回一个字符串,但你可以转换为或得在其他可分析数据类型中返回的字符串的值