Я делаю приложение с помощью JavaFX и Scene Builder. У меня есть метод, который делает анимацию Anchor Pane. Перевести переход и повернуть переход.
Когда я нажимаю «1» на клавиатуре, вызывается этот метод.
Проблема в том, что когда я нажимаю клавишу 1, работает быстрая анимация.
неправильно. Кажется, когда я нажимаю слишком быстро на ключевой анимации
Якорная панель смещена.
Как запретить нажатие клавиш во время анимации или как установить задержку между нажатиями клавиш?
Контроллер:
@FXML private AnchorPane randomCard;
@FXML public void initialize(URL location, ResourceBundle resources) {
//key commands
mainAnchor.setOnKeyPressed(event -> {
switch (event.getCode()) {
case DIGIT1:
showRandomCard();
break;
}
});
//show random card in main window
private void showRandomCard(){
TranslateTransition tt = new TranslateTransition();
tt.setDuration(Duration.millis(400));
tt.setNode(randomCard);
tt.setFromY(950);
tt.setFromX(-600);
tt.setToY(0);
tt.setToX(0);
RotateTransition rt = new RotateTransition(Duration.millis(500), randomCard);
rt.setByAngle(360);
rt.setRate(1);
rt.setCycleCount(1);
tt.play();
rt.play();
}