加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – KeyEvent.getKeyText()在OSX中返回特殊字符(例如’VK_EN

发布时间:2020-12-15 02:33:53 所属栏目:Java 来源:网络整理
导读:我正在使用KeyEvents和 KeyEvent.getKeyText(KeyEvent.VK_...) 为了获得与KeyEvent相对应的文本. 在OSX(Lion)中,当我请求特殊键的文本时,如TAB或ENTER(KeyEvent.VK_ENTER),我得到相应的符号(例如,对于Enter,我得到弯曲的箭头). Windows XP系统中的相同内容为
我正在使用KeyEvents和

KeyEvent.getKeyText(KeyEvent.VK_...)

为了获得与KeyEvent相对应的文本.

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

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

解决方法

MAC有不同的实现:

These were changed intentionally to provide the proper symbols for
menu shortcuts in Swing for in-window menu bars. Instead of using the
word “Meta” or “Command” we actually now return the unicode symbol
that the system menu bar shows.

在这种情况下,您可以使用该键的常量VK_ENTER,例如

if (evt.getKeyCode() == KeyEvent.VK_DOWN || evt.getKeyCode() == KeyEvent.VK_KP_DOWN) {}

或者您可以使用Map将键映射到其字符串名称

map.put(KeyEvent.VK_ENTER,'u21b5');  ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读