質問

私は私が上wokring午前中のJavaアプリケーションのいくつかのホットキーを変更しようとしていますし、私が使用しているシステムは3つのボタンキーの組み合わせでは動作しないかもしれないようです。我々は現在のJMenuItemアイテムを持っているし、我々はこのような呼び出しでホットキーを設定します:

menuItem.setAccelerator(getAcceleratorKey(accelerator));

そして、ここでgetAcceleratorKey方法です。

    private KeyStroke getAcceleratorKey(int keyCode) {

    return KeyStroke.getKeyStroke(
                    keyCode,
                    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
                    false);
}

このメソッドは、パラメータとして取るのkeyCodeが唯一のコマンドで押しつのキーもできるようです。だから、どのように私は元に戻すためのコマンドシフトzのような何かをしますか?私は別のクラスを使用する必要がありますか?

役に立ちましたか?

解決

KeyStroke.getKeyStroke()のパラメータとして改質剤を取ります。それらの組み合わせは何をしたいあなたを与える必要があります:

KeyStroke.getKeyStroke(keyCode, 
  java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.META_MASK);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top