1

我正在为一个班级项目制作俄罗斯方块,我想利用网格窗格将舞台划分为均匀间隔的行和列。我打算单独更改每个单元格的颜色以模拟实际部件,但我不知道从这里去哪里。我尝试添加彩色矩形,但没有奏效。

颜色取自一个名为 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();
}

我想我不确定它是什么 row 和 col 约束,我所知道的是我均匀放置了由线条分隔的单元格。

我将如何单独更改每个单元格的颜色?

4

1 回答 1

0

查看 JavaFX 中的 Rectangle 类。这是一个在 JavaFX 中将 Rectangle 绘制为黑色的示例。

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();
  }
}
于 2015-10-28T04:40:04.360 回答