以下是我程序的部分:
其中l是ArrayList的数组,存放的是shape对象,程序中我存放的是arc和path。程序要实现的是在frame上点击鼠标后,判断当前坐标是否包含所绘制的arc或者path中。
问题是:当没有if-else判断点是否包含的时候,光循环打印l中的值,结果显示是存放着arc和path,但是当加上if-else判断之后,打印l的值的时候,发现只有arc了,而没有path了,导致在判断点是否包含在path中的时候出错。请大家帮忙看下是什么地方出错了?谢谢了。
static class ML extends MouseAdapter {
public void mouseClicked(MouseEvent e) {
for(int i=0;i<l.size();i++)
{
Shape s=(Shape)l.get(i);
// System.out.print(s+"\n");
if(s.contains(e.getX(),e.getY()))
{
System.out.print("contain"+"\n");
break;
}
else
{ System.out.print("not contain"+"\n");
break;
}
}
}
}
其中l是ArrayList的数组,存放的是shape对象,程序中我存放的是arc和path。程序要实现的是在frame上点击鼠标后,判断当前坐标是否包含所绘制的arc或者path中。
问题是:当没有if-else判断点是否包含的时候,光循环打印l中的值,结果显示是存放着arc和path,但是当加上if-else判断之后,打印l的值的时候,发现只有arc了,而没有path了,导致在判断点是否包含在path中的时候出错。请大家帮忙看下是什么地方出错了?谢谢了。
static class ML extends MouseAdapter {
public void mouseClicked(MouseEvent e) {
for(int i=0;i<l.size();i++)
{
Shape s=(Shape)l.get(i);
// System.out.print(s+"\n");
if(s.contains(e.getX(),e.getY()))
{
System.out.print("contain"+"\n");
break;
}
else
{ System.out.print("not contain"+"\n");
break;
}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货