我正在尝试在 mouseClicked 中创建一段代码,以删除从 Vector 中单击的所有矩形。所有矩形都正确存储在向量中,并且我正在检查的点在我运行程序时是有效的。查看文档,确实有一种rectangle.contains(point)
方法,所以我不确定为什么以下代码段无效。谢谢!
public void mouseClicked(MouseEvent m)
{
Point p = new Point(m.getPoint());
Vector v = ball.r; //ball.r is where they are put into in another object's method
boolean done = false;
int i = 0;
while (!done)
{
if(v.elementAt(i).contains(p))
{
v.removeElement(i);
i--; //prevent i from incrementing
}
i++;
}
}
我也没有在 for 循环中这样做,因为据我所知,当一个元素被删除时,向量将“重新打包”并且我将跳过向量的一个元素。不确定我说/这样做是对还是错。