gpt4 book ai didi

java - 使用箭头键移动圆圈 - Java

转载 作者:行者123 更新时间:2023-12-02 03:21:46 32 4
gpt4 key购买 nike

我现在正在尝试使用 JavaFX,自学如何使用箭头键移动文本和项目。我编写了一个程序,如果按下箭头键,它可以简单地在舞台上移动文本。

我想让一个圆圈而不是文本在我的 Pane 中移动。我必须进行哪些更改才能使用箭头键移动圆圈?

public void start(Stage primaryStage) {
Pane pane = new Pane();

int dx = 50;
int dy = 50;
int radius = 125;

Circle circle = new Circle(radius,dx,dy);
Text text = new Text(20,20,"HI");
circle.setFill(Color.WHITE);
circle.setStroke(Color.BLACK);

pane.getChildren().addAll(circle, text);

circle.setOnKeyPressed(e -> {
switch(e.getCode()) {
case DOWN: text.setY(text.getY() + 10);
break;
case UP: text.setY(text.getY() - 10);
break;
case LEFT: text.setX(text.getX() - 10);
break;
case RIGHT: text.setX(text.getX() + 10);
break;
default:
if(Character.isLetterOrDigit(e.getText().charAt(0)))
text.setText(e.getText());
break;
}
});

Scene scene = new Scene(pane, 250, 200);
primaryStage.setTitle("Arrow Keys");
primaryStage.setScene(scene);
primaryStage.show();

text.requestFocus();
}

最佳答案

scene.setOnKeyPressed(e -> {
switch (e.getCode()) {
case DOWN:
circle.setCenterY(circle.getCenterY() + 10);
break;
case UP:
circle.setCenterY(circle.getCenterY() - 10);
break;
case LEFT:
circle.setCenterX(circle.getCenterX() - 10);
break;
case RIGHT:
circle.setCenterX(circle.getCenterX() + 10);
break;
}
});

关于java - 使用箭头键移动圆圈 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39503295/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com