【发布时间】:2014-03-27 19:13:25
【问题描述】:
我正在尝试将加速器添加到某些场景中,但在某些情况下我想要一个简单的一键加速器。我只熟悉KeyCodeCombination,它似乎不允许我不用修饰符。
奇怪的是,我使用了修饰符 + ANY(例如 SHIFT_ANY),但它似乎并不总是有效(对于我的 F10 加速器,它与 shift 键向上或向下一起工作,但对于我的 F2 加速器它只与 Shift 键 DOWN 一起使用)。
有没有办法用 KeyCodeCombination 制作一个按键加速器?还是我必须使用其他东西?或者谁能告诉我为什么我的 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");
}
});
【问题讨论】:
-
如果你只做
new KeyCodeCombination(KeyCode.F2)会发生什么?
标签: javafx acceleratorkey