一部のシーンにアクセラレータを追加しようとしていますが、場合によっては単純なワンキー アクセラレータが必要です。私は KeyCodeCombination にしか慣れていませんが、修飾子を使用できないようです。
不思議なことに、私は修飾子 + ANY (例: SHIFT_ANY) を使用しましたが、常に機能しているようには見えません (私の F10 アクセラレータではシフト キーの上下で機能しますが、F2 アクセラレータではシフトキー下)。
KeyCodeCombination を使用してキー アクセラレータを 1 つだけ作成する方法はありますか? それとも、何か他のものを使用する必要がありますか? または、F2キーとSHIFT_ANYの組み合わせがシフトキーUPで機能しない理由を誰かに教えてもらえますか?
ここに私のアクセラレータコードがあります:
KeyCodeCombination f2 = new KeyCodeCombination(KeyCode.F2, KeyCombination.SHIFT_ANY);
KeyCodeCombination f10 = new KeyCodeCombination(KeyCode.F10, KeyCombination.SHIFT_ANY);
thisScene.getAccelerators().put(f2, new Runnable() {
@Override
public void run() {
buttonCancel.fire();
System.out.println("F2 pressed");
}
});
thisScene.getAccelerators().put(f10, new Runnable() {
@Override
public void run() {
buttonSave.fire();
System.out.println("F10 pressed");
}
});