我有一個程序,它有多個選項卡,每個選項卡都有它自己的控制器。我想在每個選項卡上使用不同的鍵盤快捷鍵。如何在控制器中設置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