【发布时间】:2016-09-15 13:06:22
【问题描述】:
我现在正在试验 JavaFX,教自己如何使用箭头键移动文本和项目。我制作了一个程序,如果按下箭头键,它只会在舞台上移动文本。
我想让一个圆圈围绕我的窗格而不是文本移动。我必须进行哪些更改才能使用箭头键移动我的圈子?
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();
}
【问题讨论】: