0
現在、Java SEアプリケーションでUnicodeとニーモニックに問題があります。 メニューバーに「ФMnemonicUnicodeTest」という名前のメニューが追加され、最初の文字がニーモニックとして設定されています。
ニーモニックとして設定されている整数値は「1060」です。Java:ニーモニックとUnicode
- のWindows 7
- 英語システムの言語
- のJava SE 6、32ビット
- ロシア語/ロシア語のキーボードレイアウト
- 物理ロシア語キーボード
コード:
menu.setMnemonic((int)(text.substring(index+1, index+2).charAt(0)));
メニューが正しく表示されます(ニーモニック文字に下線が引かれています)。
ニーモニックでは、 "ALT +Ф"(キーは物理キーパッドに "AФ"として表示されます)のメニューは展開されません。
私の質問です:ニーモニックはなぜ機能しないのですか?どのように修正できますか?
これは、ニーモニックは仮想キーとして利用できる文字にのみ適用可能であることを意味します。 「ALT +Ф」と入力すると投げられるキーイベントを捕まえると、キー文字は右ですが、キーコードは65(Aの場合)です。 – RusH
私は国際化のためにリソースファイルを使用しており、使用すべき翻訳とニーモニックを定義しています。私は、ユニコード文字の対応する仮想キーを動的に見つけなければならず、ニーモニックとして使用される文字にはスローされた仮想キーを使用すると下線が引かれません。 – RusH