我可以在这个项目上获得一些帮助吗?我试图在javafx中制作一个9x9的省略号。我有省略号的代码,但我无法弄清楚以下事情发生的逻辑。
我正在寻找的例子
我使用了常规for循环,只给了我9x9。省略号叠加在一起
for (int i = 0; i < 9; i++)
for (int j = 0; j < 9; j++)
所以我需要对此循环做什么,使它看起来像上面的图片 任何帮助都会非常感谢。
答案 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);
}
}