【问题标题】:Java: Mnemonics and UnicodeJava:助记符和 Unicode
【发布时间】:2011-09-20 09:16:17
【问题描述】:

我目前在 Java SE 应用程序中遇到 unicode 和助记符问题。 在菜单栏中,我添加了一个名为“ФMnemonicUnicodeTest”的菜单,第一个字母设置为 Mnemonic。
设置为助记符的整数值为“1060”。

  • Windows 7
  • 英文系统语言
  • Java SE 6,32 位
  • 俄语/俄语键盘布局
  • 物理俄语键盘

代码:

menu.setMnemonic((int)(text.substring(index+1, index+2).charAt(0)));

菜单显示正确(助记符带下划线)。
但是助记符不会用“ALT + Ф”展开菜单(键在物理键盘上显示为“AФ”)。

我的问题是:为什么助记符不起作用,如何解决?

【问题讨论】:

    标签: java unicode mnemonics


    【解决方案1】:

    我很久没有这样做了,但我认为对于菜单快捷方式,您需要使用虚拟键值之一。

    您可能会在 KeyEvent javadoc 中获得更多信息。

    【讨论】:

    • 但这意味着助记符仅适用于可用作虚拟键的字母。当我捕获键入“ALT+Ф”时抛出的键事件时,键字符是正确的,但键码是 65(对于 A)。
    • 我正在使用资源文件进行国际化,它们定义了应该使用的翻译和助记符。如果我使用抛出的虚拟键,我将不得不动态地为 unicode 字符找到相应的虚拟键,并且用作助记符的字符没有下划线。
    猜你喜欢
    • 2011-05-25
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多