我正在尝试使用单独的整数值绘制多个矩形。
BufferedImage rectImage = bimage.myBImage;
BufferedImage pointImage = bimage.myBImage;
Graphics g = rectImage.createGraphics();
Graphics h = pointImage.createGraphics();
Color rectangle = Color.CYAN;
g.setColor(rectangle);
int alon = -118;
int alat = 34;
int x = (int) Math.round((alon-UL_Lon)/dXLon);
int y = (int) Math.round((UL_Lat-alat)/dYLat);
g.drawRect(x - 5, y - 5, 10, 10);
Color point = Color.BLUE;
h.setColor(point);
h.drawLine(x, y, x, y);
我有多个 alon 和 alat 值,我希望能够输入这些值,而不必一遍又一遍地重写代码。
我应该如何去做这样的事情?
最佳答案
这个问题很模糊,措辞也不太好。根据我收集的信息,我推测您想要在不同位置渲染不同大小的多个矩形。您应该首先定义需要多少个矩形:
int numberOfRectangles = 5;
然后您应该创建一个可以保存您定义的矩形数量的数组:
Rectangle rectangles[] = new Rectangle[numberOfRectangles];
现在,您必须定义矩形:
rectangles[0] = new Rectangle(7, 64, 32, 32);
rectangles[1] = new Rectangle(64, 18, 4, 32);
您似乎也想设置颜色?所以你可以通过创建一个数组来做到这一点:
Color rectangleColors[] = new Color[numberOfRectangles];
然后还定义它们:
rectangleColors[0] = new Color(255, 48, 128);
rectangleColors[1] = Color.GREEN;
由于系统的原因,您不必一次定义所有矩形。现在,您必须循环遍历矩形数组并使用 render 方法渲染每个定义的矩形:
for (int i = 0; i < numberOfRectangles; i++)
{
g.setColor(rectangleColors[i]);
g.fillRect(rectangles[i].getX(), rectangles[i].getY(), rectangles[i].getWidth(), rectangles[i].getHeight());
}
这个应该可以工作,尽管我还没有在 Java 中测试过它。
关于java - 使用图形java打印矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31011214/