(使用箭头键画线) 请编写一个程序,使用箭头键绘制线段. 所画的线从面板的中心开始,当敲击向右,向上,向左或向下的箭头键时,相应地向东,向北,向西或向南方向画线,如下图所示.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class Question7 extends Application {
//将变量定义为全局变量,才能在内部类/lambda表达式 中修改,不然会报错. 具体可查阅文档
private double width = 600 / 2; //设置中心坐标
private double height = 450 / 2;
@Override
public void start(Stage primaryStage) {
Pane pane = new Pane();
pane.setOnKeyPressed(e -> {
switch (e.getCode()) {
case UP: pane.getChildren().add(new Line(width,height,width,height - 10));
height -= 10; break;
case DOWN: pane.getChildren().add(new Line(width,height,width,height + 10));
height += 10; break;
case LEFT: pane.getChildren().add(new Line(width,height,width - 10,height));
width -= 10; break;
case RIGHT: pane.getChildren().add(new Line(width,height,width + 10,height));
width += 10; break;
}});
Scene scene = new Scene(pane,600,450);
primaryStage.setScene(scene);
primaryStage.show();
pane.requestFocus();
}
}
测试