![](/img/trans.png)
[英]KeyEvent.getKeyText and NativeKeyEvent.getKeyText gives back different values
[英]KeyEvent.getKeyText() is returning special characters in OSX (e.g. for 'VK_ENTER') but not on Windows XP, any solution?
我正在使用KeyEvents和
KeyEvent.getKeyText(KeyEvent.VK_...)
为了获得与KeyEvent相对应的文本。
在OSX(Lion)中,当我请求特殊键的文本时,如TAB或ENTER(KeyEvent.VK_ENTER),我得到相应的符号(例如,对于Enter,我得到弯曲的箭头)。 Windows XP系统中的相同内容为我提供了密钥名称(例如“Enter”)而不是符号。
是否有解决方案来获取XP中的特殊字符?
MAC有不同的实现:
这些都是故意更改的,以便在窗口菜单栏的Swing中为菜单快捷方式提供正确的符号。 我们实际上现在返回系统菜单栏显示的unicode符号,而不是使用“Meta”或“Command”这个词。
在这种情况下,您可以使用该键的常量VK_ENTER
,例如
if (evt.getKeyCode() == KeyEvent.VK_DOWN || evt.getKeyCode() == KeyEvent.VK_KP_DOWN) {}
或者你可以将按键映射到其字符串名称Map
map.put(KeyEvent.VK_ENTER, '\u21b5'); \\ ↵
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.