我的主要目标是让用户绘制一个形状然后将该形状存储到一个arraylist中,这样当用户激活actionlistener以绘制另一个形状时,其他形状将不会消失。
代码非常基本,但正如您所见。我有一个for循环与另一个名为Rect的类。 Rect有一个构造函数,它接受绘制用户矩形的坐标。我想要获取坐标,将它们作为对象存储到一些任意的arraylist rectList中,然后使用for循环重绘它们以便它们保留在屏幕上。我很困惑,因为我的主类(包含我的Draw类)中有一个arraylist RectList,但是我需要将Rect类中构建的矩形对象放到我的rectList arraylist中。
我的用户当前绘制了一个矩形:
private class Draw extends JPanel
{
public void paintComponent(Graphics page)
{
super.paintComponent(page);
//draw all rectangles
for (int i=0; i < rectList.size(); i++)
{
((Rect) rectList.get(i)).draw(page);
}
if (mouseDragged == true)
{
page.drawRect(x1, y1, x3-x1, y3-y1);
page.fillRect(x1, y1, x3-x1, y3-y1);
}
}
}
答案 0 :(得分:0)
我通过计算如何将对象存储到数组中来修复它。 rectList.add(new Rect(第一个坐标,第二个坐标,结束坐标1,结束坐标2,矩形颜色));