JavaFX 단축키 등록하기
JavaFX 에서 키보드를 이용하여 단축키를 사용하는 방법 3가지
setOnKeyPressed 를 이용하는 방법
@FXML private JFXTextField jfxTextField;
public void addEventListener() {
jfxTextField.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent ke) {
if(ke.getCode() == KeyCode.ENTER) {
System.out.println("Enter key");
}
}
}
}
KeyCombination을 이용하는 방법
@FXML private AnchorPane anchorPane;
public void addEventListener() {
Platform.runLater(() -> {
anchorPane.getScene().getAccelerators().put(new KeyCodeCombination(KeyCode.S, KeyCombination.CONTROL_ANY), new Runnable() {
@Override
public void run() {
System.out.println("Ctrl + S = 저장");
}
}
});
}
setOnKeyPressed + KeyCombination 을 이용하는 방법
@FXML private AnchorPane anchorPane;
public void addEventListener() {
anchroPane.setOnKeyPressed(e -> {
if(new KeyCodeCombination(KeyCode.A, KeyCombination.CONTROL_DOWN).match(e)) {
System.out.println("Ctrl + A");
} else if(new KeyCodeCombination(KeyCode.S, KeyCombination.CONTROL_DOWN).match(e)) {
System.out.println("Ctrl + S");
} else if(new KeyCodeCombination(KeyCode.ENTER, KeyCombination.CONTROL_DOWN).match(e)) {
System.out.println("Ctrl + ENTER");
}
});
}
'JavaFX' 카테고리의 다른 글
[JavaFX] TableView 페이징 순번 역순으로 표시하기 (0) | 2020.09.17 |
---|---|
[JavaFX] MenuItem setMnemonicParsing 단축키, SeparatorMenuItem 구분자 (0) | 2020.08.28 |
[JavaFX] TreeTableView Key event - Row Delete (0) | 2020.08.20 |
[JavaFX] TreeTableColumn에 TextField 넣고 변경하기 (0) | 2020.08.18 |
[JavaFX] Hibernate cannot be case to 오류 (0) | 2020.08.15 |