多边形和虚线矩形框
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;
}
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;
}
相关文章推荐
- 如何修改 Total commander 配置文件的路径
- NYOJ 925 最小生成树(按权值大小排序生成树)+查重函数unique
- UDP,TCP,SCTP使用场合
- 基本数据类型在不同字长机器上所占的位数
- 【荐2】Total Commander 7.57 配置选项 个性化设置备份,,,开启时如何自动最大化???(二)
- SCU2016-04 G题 01trie树第k大,树上异或路径
- 自定义无内存泄漏的Handler内部类
- 谈谈PE和ELF结构中的那些小事
- 装饰者模式vs适配器模式
- 【荐1】Total Commander 7.57 个人使用设置 及 常用快捷键 备忘
- 【greenDAO3】 项目搭建与增删改查操作
- Android基础之LaunchMode
- Java集成Weka做逻辑回归(Logistic Regression)
- C语言指针的易错点
- 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的
- 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的
- E - Frogger
- TCP/IP编程之getsockopt/setsockopt函数详解
- 微服务系统中的服务发现机制
- 一个SQL面试题