1
これは私のコードです。このプログラムを実行すると、通常のシーン、通常のペイン、通常のボタンが表示されます。左上隅のボタンをクリックすると、座標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質問に答えた場合は、正しいとマークしてください。 –