我正在尝试在 Graphics2D 实例上绘制 5 个正方形。5 个正方形中的每一个都应具有左上角 x 坐标和左上角 y 坐标的随机双精度值。
double pixelSize = 2.0;
g2d.setColor(color);
for (int i = 0; i < 5; i++) {
double nextDouble = gen.nextDouble();
System.out.println("nextDouble: "+nextDouble);
double topLeftX = nextDouble*(maxX-minX) + minX;
System.out.println("topLeftX: "+topLeftX);
double topLeftY = nextDouble*(maxY-minY) + minY;
System.out.println("topLeftY: "+topLeftY);
Shape square = new Rectangle2D.Double(topLeftX, topLeftY, pixelSize, pixelSize);
g2d.fill(square);
repaint();
revalidate();
}
相反,我从println语句中看到的是,这些nextDouble值在循环的每次迭代中都会发生变化,但topLeftX并topLeftY保持不变,即使它们部分是从nextDouble.
我想topLeftX并且topLeftY每次都通过循环进行更改。