画图板之多边形三角形和颜色

三角形与多边形

【记得设置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;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值