У меня возникают проблемы с unicode и мнемониками в приложении Java SE. В строке меню я добавил меню с именем «FMnemonicUnicodeTest», а первая буква установлена как мнемоника.
Целочисленное значение, заданное как мнемоника, составляет «1060».Java: Mnemonics и Unicode
- Windows 7
- Английский язык системы
- Java SE 6, 32bit
- русский/русский раскладки клавиатуры
- Физическая русская клавиатура
Код:
menu.setMnemonic((int)(text.substring(index+1, index+2).charAt(0)));
Меню отображается правильно (мнемонический символ подчеркнут).
Но мнемоника не расширяет меню с помощью «ALT + Ф» (клавиша отображается на физическом клавиатуре как «AФ»).
Мой вопрос: Почему мнемоника не работает и как ее можно исправить?
Но это означало бы, что мнемоники применимы только для букв, доступных в виде виртуальных ключей. Когда я улавливаю keyevent, который бросается, когда я набираю «ALT + Ф», ключевой символ является правильным, но код ключа равен 65 (для A). – RusH
Я использую файлы ресурсов для интернационализации, и они определяют перевод и мнемонику, которые следует использовать. Я должен был бы найти соответствующий виртуальный ключ для символа Юникода динамически, и символ, который используется как мнемонический, не подчеркивается, если я использую виртуальный ключ, который вызывается. – RusH