如何使for循环javafx中的交错数组

时间:2016-12-21 21:49:03

标签: for-loop multidimensional-array javafx

我可以在这个项目上获得一些帮助吗?我试图在javafx中制作一个9x9的省略号。我有省略号的代码,但我无法弄清楚以下事情发生的逻辑。

我正在寻找的例子

我使用了常规for循环,只给了我9x9。省略号叠加在一起

      for (int i = 0; i < 9; i++)
        for (int j = 0; j < 9; j++)

所以我需要对此循环做什么,使它看起来像上面的图片 任何帮助都会非常感谢。

1 个答案:

答案 0 :(得分:0)

只需确定圆圈的水平/垂直偏移。

每隔一行包含一个圆圈,并且比较小的行更靠左边开始偏移的一半。

final double fieldWidth = 50;
final double fieldHeight = 50;
final double radius = 20;

Pane parent = new Pane();

boolean bigRow = true;
final int rows = 9;
final int columns = 9;
for (int y = 0; y < rows; y++, bigRow = !bigRow) {
    double offsetX = bigRow ? fieldWidth / 2 : fieldWidth;
    double offsetY = fieldHeight * y + fieldHeight / 2;
    for (int x = 0, size = bigRow ? columns : columns - 1; x < size; x++) {
        Circle c = new Circle(offsetX + x * fieldWidth, offsetY, radius, Color.TRANSPARENT);
        c.setStroke(Color.BLACK);
        parent.getChildren().add(c);
    }
}