アクセラレータをJMenuItemに設定したいと思います。Java - アクセラレータをJMenuItemに追加
は、今のところ私はこの
openFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
のようにそれを設定していますし、それが働いていますが、私はアクセラレータとしてO + Ctrlキーを望んでいません。アクセラレータとして「スペース」が必要ですが、「スペース」に対応するKeyStrokeを生成する方法はありませんでした。
KeyStroke.getStroke()
は、charまたは(int、int)のいずれかをとります。私はスペースに対応するチャーも見つけられませんでした。
は私がchar'が空間に対応する '見つけることができませんでした。 'KeyEvent.VK_SPACE'はintでのみINTかかるKeyStroke.getStroke(INT)のような方法がありません。私はしたくないこれもいくつかの修飾子を供給する必要があります。 –
だから私はこれをまっすぐにしましょう。ユーザーがボタンをタップして「ペース」を押してアクティブにすると、メニューアクションが呼び出されますか?アクセラレータを見るために「珍しい&難しい」GUIを「機能しないGUI」にアップグレードしてみましょう。私のアドバイスは、「実行可能なアクセラレータ文字を選択」です。メニュー項目に表示されるテキストは何ですか? –
+1ユーザの考え方。 :-)詳細[ここ](http://stackoverflow.com/a/10161155/230513)。表示名は、Mac OS Xは、[Spotlight検索](http://en.wikipedia.org/wikiを開始するには、このアクセラレータを使用すること_Space_空ではありません:-) – trashgod