8

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

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

4

5 回答 5

12

将其投射到 Char。

Char c=(Char)keycode;
于 2013-04-13T19:19:32.963 回答
8

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

 e.getKeyText(e.getKeyCode())

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

KeyEvent.getKeyText(e.getKeyCode())

它返回一个字符串,但您可以转换为或获取以其他可解析数据类型返回的字符串的值

于 2016-07-24T16:46:42.650 回答
2

只需将其转换为一个字符,但不能使用大写 c:

char c = (char) 20;
于 2020-05-14T16:06:52.550 回答
1

一种方法是加载 Map 中的所有值,然后获取每个按下的键的值。就像如果您按下空格键并输入 20,只需从地图中获取与该键关联的值并使用它。

于 2013-04-13T19:19:05.773 回答
0

另一个类似于 Reujoe 的选项是getKeyChar()在您有 KeyEvent 变量时使用。

e.getKeyChar()

它将键码的字符表示形式返回为Char

于 2019-10-08T18:00:36.130 回答