1

プログラムのサウンドのオンとオフを切り替える JMenuCheckBox があります。次を使用してアクセラレータを設定しました。

toggleSoundMenuCheckBox.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.ALT_MASK));

これは、ALT + S を押してチェック ボックスを切り替えます。

1 つのキーだけを使用してアクセラレータを使用する方法はありますか (ALT やその他のキーを押さずに「S」キーだけを使用してオン/オフを切り替えたい)。

4

1 に答える 1

1

そのために、オーバーロードされた getKeyStroke(char) を使用できます。例:

KeyStroke.getKeyStroke('s')

これにより、キーのみで修飾キーを使用しないキーストロークが得られます。

注意: このように単一のキーをバインドすると、テキスト ボックスに入力できない場合があります。

于 2014-04-20T09:42:16.237 に答える