我正在为一个班级项目制作俄罗斯方块,我想到利用网格窗格将舞台划分为均匀间隔的行和列。我打算单独更改每个单元格的颜色以模拟实际的部件,但我不知道从这里开始该怎么做。我尝试添加彩色矩形,但这不起作用。
颜色取自名为 colorArray 的 15X10 二维数组,每个索引处都有特定的颜色。
public void start(Stage primaryStage) throws Exception {
pane = new GridPane();
pane.setGridLinesVisible(true);
pane.setVgap(40);
pane.setHgap(40);
primaryStage.setResizable(false);
scene = new Scene(pane,height,width);
for(int x = 0; x < 16; x++){
pane.getRowConstraints().addAll(getFifteenRowConstraints());
for(int y = 0; y<10; y++){
pane.getColumnConstraints().addAll(getTenColumnConstraints());
}
}
primaryStage.setScene(scene);
primaryStage.setTitle("Russian Game");
primaryStage.show();
}
我想我不太确定行和列约束是什么,我所知道的是我均匀放置了由线分隔的单元格。
我将如何单独更改每个单元格的颜色?
查看 JavaFX 中的 Rectangle 类。这是在 JavaFX 中将矩形绘制为黑色的示例。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class Driver extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
Group group = new Group();
Rectangle rect = new Rectangle(20,20,200,200);
rect.setStroke(Color.BLACK);
group.getChildren().add(rect);
Scene scene = new Scene(group, 300, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
}