JavaFX中的Squares Gridpane

时间:2016-02-12 16:05:56

标签: java javafx

我是JavaFX的新手,我正在尝试制作一个棋盘格。我首先想要开始制作一个填充了随机颜色的正方形网格框 数组。我不知道为什么,但是方块没有填满网格的其余部分。我还想使用约束来设置网格高度和宽度。

import itertools
for a, b, c in itertools.izip (list1, list2, list3):
    ...

左上角只显示一个方格。 为什么会这样?

1 个答案:

答案 0 :(得分:2)

您需要在两个循环中移动随机数生成步骤,这样您才能使用在进入循环之前设置的相同颜色。此外,您不需要该随机数生成器上的加号1。允许的指数为0-3。当你要求nextInt()并输入一个4时,这是独占的,这意味着4将永远不会被选中(这是你需要的颜色数组)。

您的代码应如下所示:

for (int row = 0; row < rowNum; row++) {
    for (int col = 0; col < colNum; col++) {
        int n = rand.nextInt(4);
        Rectangle rec = new Rectangle();
        rec.setWidth(2);
        rec.setHeight(2);
        rec.setFill(colors[n]);
        GridPane.setRowIndex(rec, row);
        GridPane.setColumnIndex(rec, col);
        grid.getChildren().addAll(rec);
    }
}