JavaFX에서 ESC 키 이벤트 단축키 설정
최상위 anchorPane에
setOnkeyPressed 이벤트로 ESC 키 이벤트를 등록하면 텍스트, 콤보박스 등의 객체에서는 이벤트가 발생하지만,
테이블에 커서가 있을때는 이벤트가 작동하지 않는 상황이 발생한다.
@FXML private AnchorPane anchorPane;
@FXML private TableView<UserVO> table;
public void addEventListener() {
anchorPane.setOnKeyPressed(e -> {
if(KeyCode.ESCAPE == e.getCode() {
close();
}
});
table.setOnKeyPressed(e -> {
if(KeyCode.ESCAPE == e.getCode() {
close();
}
});
}
Scene 에 addEventFilter를 사용하면 해결된다.
anchorPane에서 scene를 불러와서 KeyEvent.KEY_PRESSED로 이벤트를 등록하면
테이블에서도 ESC 이벤트를 발생시킬 수 있다.
anchorPane.getScene().addEventFilter(KeyEvent.KEY_PRESSED, e -> {
if(KeyCode.ESCAPE == e.getCode()) {
close();
}
});
'JavaFX' 카테고리의 다른 글
[Java] SWT Table multi 테이블 다중선택 (0) | 2022.08.09 |
---|---|
[JavaFX] TableView 페이징 순번 역순으로 표시하기 (0) | 2020.09.17 |
[JavaFX] MenuItem setMnemonicParsing 단축키, SeparatorMenuItem 구분자 (0) | 2020.08.28 |
[JavaFX] multiple key event Combination ctrl + s 단축키 사용 (0) | 2020.08.25 |
[JavaFX] TreeTableView Key event - Row Delete (0) | 2020.08.20 |