4

我正在使用 KeyEvents 和

KeyEvent.getKeyText(KeyEvent.VK_...) 

以获取KeyEvent对应的文本。

在 OSX (Lion) 中,当我请求特殊键的文本时,例如 TAB 或 ENTER (KeyEvent.VK_ENTER),我得到相应的符号(例如,对于 Enter,我得到弯曲的箭头)。在 Windows XP 系统中,同样给我的是键名(例如“Enter”)而不是符号。

是否也有解决方案来获取 XP 中的特殊字符?

4

1 回答 1

1

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'); \\ ↵
于 2012-05-02T16:05:38.110 回答