我正在尝试在 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
每次都通过循环进行更改。