私は、ユーザーがボタンを定義できるようにするプログラムを作成しています。 独自のカスタムキーボードを作成します。グローバルキーリスナーを複数のボタンにアタッチする
このキーボードは、グローバルなカスタムホットキーにも反応する必要があります。
ここに問題があります: グローバルにするには、それらをシーンに添付しますが、すべての新しく設定されたホットキーが前のホットキーを上書きします。すべてのホットキーを追跡するのArrayListを作成し、その上毎回のKeyListenerの反復を持っている頭に浮かぶ
btn.getScene().setOnKeyPressed((KeyEvent e) -> {
if (e.getText().equals(hotkey)) {
btn.arm();
btn.fire();
}
});
btn.getScene().setOnKeyReleased((KeyEvent e) -> {
if (e.getText().equals(hotkey)) {
btn.disarm();
}
});
即時ソリューション、および関連付けボタン付きのArrayListの別のArrayList: は、いくつかのコードを持っています。
もっとエレガントで直接的な方法はありますか?
[JavaFX 2.2ニーモニックを使用](http://stackoverflow.com/questions/12710468/using-javafx-2-2-mnemonic)これはアクセラレータについての話です。わずかな違いは、アクセラレータで使用されているタイプキーではなく、プレス/リリースイベントを追跡していることです。 – jewelsea
@ jewelsea私はそれを見つけましたが、もっと長いノートのためにユーザーがキーを押し続けることができるようにします – Anarc