여러 개의 탭이 있고 각 탭에는 자체 컨트롤러가있는 프로그램이 있습니다. 모든 탭마다 다른 키보드 단축키를 사용하고 싶습니다.컨트롤러에서 JavaFX에 설정된 키보드 단축키를 설정하는 방법
그러나 EventFilter를 Scene에 추가해야하므로 Controller.initialize()가 실행될 때 장면이 여전히 null입니다. 어떻게 해결할 수 있을까요?
은 현재 내가이 일을 해요 :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