您的位置:首页 > 其它

多边形和虚线矩形框

2016-07-13 00:10 288 查看
简洁版的虚线矩形框

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: