我有一个程序,它有多个选项卡,每个选项卡都有它自己的控制器。我想在每个选项卡上使用不同的键盘快捷键。如何在控制器中设置JavaFX中的设置键盘快捷方式
但是我无法找到一个方法来做到这一点,因为我需要EventFilter添加到场景,但是当Controller.initialize()运行后,现场仍有空。如何解决这个问题?
目前我在做这个:
final KeyCombination openDir = new KeyCodeCombination(KeyCode.O, KeyCombination.CONTROL_DOWN, KeyCombination.SHIFT_DOWN);
list.getScene().addEventFilter(KeyEvent.KEY_PRESSED, event -> {
if (openDir.match(event)) {
logger.debug("Event match.");
}
});
问题是,list.getScene()
返回null这可能是因为当控制器初始化现场尚未设置。
也许你应该有一个方法,'addListener'控制器,增加了事件侦听器,一旦该列表是 –
你可以对如何做到这一点更具体的一个场景的一部分调用该方法?我试图添加监听器,但没有像Android一样的onShow()事件。 – lsrom