画板项目

来源:互联网 发布:保险网络大学试题答案 编辑:程序博客网 时间:2024/04/29 13:15
画板项目:一、有总体的思路是很重要的。1.创建窗体,添加三个面板,按钮区、画板区和颜色区。2.添加按钮,设置布局3.安装按钮监听器4.获取画笔5.功能的实现二、因为代码较长,所以要创建多个类,这时候就需要注意传参的问题。例如,在MypanelCenter类中要用drawBoard类中的一个属性,往往可以把drawBoard的对象传进MypanelCenter类中   MyPanelCenter panelCenter=new MyPanelCenter(this);在 MypanelCenter类中必须要重写构造函数。  public drawBoard1 d;public MyPanelCenter(drawBoard1 d1){  d = d1;  }三、 this的用法This是指本类中的对象。在(二)中,如果把public drawBoard1 d;语句改成public drawBoard1 d1;这时d1与构造函数的形参一致,可以用this。此时:构造函数应为:       this.d1 = d1;四、实现按钮的功能要设置按钮的命令名,安装鼠标监听器,设置command变量得到命令名//画直线if("image10".equals(command)){   g.drawLine(x1,y1,x2,y2);}然后画相应的图形五、图形重绘图形在缩小或是有些移动时画出来的图形会消失,所以要进行图形重绘。重绘的方法:1、用多态性实现,这时要定义多个方法。这些方法中属性都一样,只有画图形的方法不同,所以可以使用继承减少代码量。2、Paint方法    用于绘制组件, 绘制的图形需要在哪个组件上,则重写相应组件的paint方法。六、画笔功能的实现1、直线、矩形、圆角矩形、椭圆有直接的方法调用。多边形实际上也是画直线。但是最后要把图形封闭。2、铅笔、刷子、笔擦是同一类型,是通过画直线的方法实现,笔擦和刷子与铅笔的不同是笔的颜色和大小。x2=e.getX();    y2=e.getY();    g.drawLine(x1, y1, x2, y2);     x1=x2;     y1=y2;笔的大小要用Graphics2D类实现。值得注意的是:在用完笔擦和刷子后要还原笔使用前的样子。     喷漆与这三个也有相同之处,只不过喷漆是由很多点组成,所以画直线时点,且要用到随机数,g.drawLine(x2+value1, y2+value2, x2+value1, y2+value2);3、吸管吸管是有点复杂的,先用Robot类创建对象,截取图片,获取像素,然后才能得到颜色,最后是画线。

0 0
原创粉丝点击