У меня есть очень просто KeyEvent:KeyEvent остановить прослушивание JavaFX
@Override
public void start(Stage stage) throws Exception {
Group root = new Group();
Scene scene = new Scene(root);
Canvas canvas = new Canvas(900, 700);
scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent ke) {
switch (ke.getCode()) {
case UP:
System.out.println("UP");
break;
case DOWN:
System.out.println("DOWN");
break;
case LEFT:
System.out.println("LEFT");
break;
case RIGHT:
System.out.println("RIGHT");
break;
case ENTER:
//ke.consume();
break;
default:
break;
}
}});
То, что я хотел достичь: я начинаю запускать программу и если я нажимаю вверх, вниз, влево, вправо выход обратной записи мне UP, DOWN, LEFT, RIGHT (это не проблема). Но! Если я нажму кнопку «Ввод», то после нажатия кнопки «вверх», «вниз», «влево», «вправо», или другие клавиши не будут записывать выходные данные: «ВВЕРХ», «ВНИЗ», «ВЛЕВО», «ВПРАВО».
Так что я предпочитаю останавливать KeyEvent «работа», когда я нажимаю кнопку ENTER.
Большое вам спасибо! Я спас свой день O.O – Dreamfire