如何在画布上显示存储在数组中的矩形?

时间:2015-04-06 13:19:04

标签: java arrays swing canvas

Rectangle arr[]=new Rectangle[20];
    void input()
    {
    x=10;y=20;
    for(int i=1;i<20;i++)
    {
        Rectangle r = new Rectangle(x,y,40,10);
        arr[i]=r;
    }
}

我使用数组arr存储20个矩形对象 现在我希望在画布上显示它们。如何使用数组中的元素。我很困惑,因为我无法使用Graphics2d对象。任何人都可以向我展示绘制矩形的绘制方法的内容。我怎么能让这些矩形消失?

1 个答案:

答案 0 :(得分:0)

您应该使用地图而不是数组,这样您就可以访问每个矩形。试试这段代码

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

包含这些导入

Map<Integer, Rectangle> RectangleMap;

void(input)
{
    RectangleMap = new HashMap<Integer, Rectangle>();
    for(int i = 0; i < 20; i++)
    {
        RectangleMap.put(i, new Rectangle(x,y,40,10))
    }
}

现在你有一个带有20个标记为0-19的矩形的地图,以访问一个矩形,例如矩形3,使用

RectangleMap.get(3);

现在你可以做点什么了

RectangleMap.get(3).setColor(Color.BLUE);
RectangleMap.get(3).fill();

请注意,您需要适当的图形导入