Это мой код. Когда я запускаю эту программу, я получаю нормальную сцену, обычную панель и обычную кнопку. Когда я нажимаю кнопку в верхнем левом углу, в координатах появляется круг: 450, 450 с радиусом 90 пикселей. Но когда я пытаюсь переместить мой круг на 10 пикселей с помощью клавиатуры, я не вижу никаких изменений. Также я не вижу никаких исключений, когда запускаю свою программу.Как вы можете получить ключевое событие изнутри кнопки в javafx
Pane p = new Pane();
Button b = new Button("Clickable");
Circle c = new Circle(450, 450, 90, Color.RED);
c.setVisible(false);
EventHandler<ActionEvent> e = s -> {
c.setOnKeyPressed(g -> {
if(g.getCode() == UP) {c.setCenterY(c.getCenterY() + 10);}
if(g.getCode() == DOWN) {c.setCenterY(c.getCenterY() - 10);}
if(g.getCode() == RIGHT) {c.setCenterX(c.getCenterX() + 10);}
if(g.getCode() == LEFT) {c.setCenterX(c.getCenterX() - 10);}
});
c.setVisible(true);
};
b.setOnAction(e);
p.getChildren().addAll(b, c);
Scene s = new Scene(p, 900, 900);
stage.setScene(s);
stage.show();
c.requestFocus();
Спасибо это отлично работало – IbrahimLikeJava
@ user7341000 Пожалуйста, отметьте ответ как правильный, если он ответит на вопрос. –