1
이것은 내 코드입니다. 이 프로그램을 실행하면 일반 장면, 일반 창 및 일반 단추가 나타납니다. 왼쪽 상단 모서리의 버튼을 클릭하면 반경이 90 픽셀 인 450, 450 좌표에 원이 나타납니다. 그러나 내 키보드를 사용하여 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 질문에 대답하는 경우 대답을 올바른 것으로 표시하십시오. –