多边形和虚线矩形框

简洁版的虚线矩形框

int xmin=Math.min(x1, x2),x3=xmin,xmax=Math.max(x1, x2),ymin=Math.min(y1, y2),ymax=Math.max(y1,y2);
for(;xmin<=xmax;xmin+=10){
g.drawLine(xmin, ymin, xmin+5, ymin);
g.drawLine(xmin,ymax,xmin+5,ymax);

}
for(;ymin<ymax;ymin+=10){
g.drawLine(x3,ymin,x3,ymin+5);
g.drawLine(xmax,ymin,xmax,ymin+5);

}



简洁版的多边形

Release里

if(command.equals("14")){
Graphics2D g1=(Graphics2D)g;
g1.setStroke(new BasicStroke(3));
g.drawLine(x1, y1, x2, y2);

}

Pressed里

//获取第一个按下点的坐标值

//只有在选定了多边形按钮时才记录第一次按下点的坐标,,若是先画铅笔拖拽的x1=x2  y1=y2很容易使x1y1成为闭合的起始值

if(b&&command.equals("14"){
int c=x1;
int d=y1;
b=false;
}

//x2!=0是为了在开始按下时便于原点相连,
if( x2!=0&&command.equals("14")){
Graphics2D g1=(Graphics2D)g;
g1.setStroke(new BasicStroke(3));
g.drawLine(x2, y2, x1, y1);

}

Click里


//判断单击时便首尾相连与第一次按下点相连,吧b值重新变为true为下一次开始重新获值,若不重置B值则永远与在面板上第一次按下的店相连,x2变为0,是防止与上一次释

//放的点就开始联合

a=e.getClickCount();
if(a==2){
g.drawLine(x2,y2,c,d);
b=true;
x2=0;


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值