三角形与多边形
【记得设置int count=0;】
- 三角形有三个顶点,只要找到三个坐标就可以连成三角形
- 要想点一个坐标连一条线用if循环而不是for循环(for循环是一直循环不会停止,而if循环是点一下走一步)
- 多边形利用三个坐标画加一步判断,判断(x5,y5)与(x3,y5)横竖坐标之差的绝对值小于一个数(这个数自己设置),如果小于则直接连接,反之继续画。
if (type.equals("多边形")){ g.fillOval(x,y,3,3); if (count==0){(点击第一下) x3=x; y3=y; count++; } else if (count==1) {(点击第二下) x4=x; y4=y; g.drawLine(x3,y3,x4,y4); count++; }else if (count==2){(点击低三下) x5=x; y5=y; //比较(x5,y5)与(x3,y3)横竖坐标之差的绝对值 if (Math.abs(x3-x5)<10&&Math.abs(y3-y5)<10){//&&是并且的意思 g.drawLine(x3,y3,x4,y4); count=0;//如果两个坐标点离得近合围 }else { g.drawLine(x5,y5,x4,y4); x4=x5; y4=y5; count=2;//如果没有合围那么就继续连边 } }
注意多边形连边与不连边count的值的区别
else if (type.equals("三角形")){
g.fillOval(x,y,3,3);
if (count==0){(点击第一下)//第一个点不用连线
x3=x;
y3=y;
count++;
} else if (count==1) {(点击第二下)
x4=x;
y4=y;
g.drawLine(x3,y3,x4,y4);
count++;
} else if (count==2) {(点击第三下)//第三个点记着要连两条线
x5=x;
y5=y;
g.drawLine(x4,y4,x5,y5);
g.drawLine(x5,y5,x3,y3);
count=0;
}
}
package drawpad;