mouseClickedでコードのセクションを作成しようとしていますが、クリックされた長方形をベクターから削除します。すべての長方形はベクトルに適切に格納されており、プログラムを実行すると、チェックしているポイントが有効になります。ドキュメントを見ると、確かに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ループではこれを行いませんでした。私がこれを言う/するのが正しいか間違っているかわからない。