这个文件夹包含的文件如下:
1.DrawBox: 画图板启动程序
2.DrawListener: 画图板的监听器(事件监听器与鼠标监听器)
3.QueueInterface: 自定义队列的借口
4.QueueList: 自定义队列
5.ShapeObject: 图形对象(图形的父类)
6.LineShape: 直线图形
7.RectShape: 矩形图形
8.OvalShape: 椭圆图形
9.TriangleShape: 三角形图形
10.PolygonShape: 多边形图形
设计这个画图板的整体思路:
(一):在1.DrawBox中创立一个简易的画图板程序,然后在监听器中实现(1)各个图形的按钮和对应图形的生成(2)保存图形的方法。
(二)其中在(1)中主要是找坐标点,生成的画图板 程序以左上角为(0,0,)点,其他的可以按照一般思路解决。
(三):在(2)中保存方法的画,我是使用了自定义队列4.QueueList来保存的;将自定义队列看成一个盒子,空的盒子,盒子里面放的是图形对象,“图形盒”。
(四):然后是为了区别图形的对象,到底是什么图形,我又创建了一个5.ShapeObject,这个类中只保存图像的“标识符”,比如1为直线,2为矩形.......
(五):最后,再对各个图形分别创建一个小的子类,用来保存生成各个图形的所有点(这里需要注意我在多边形对象中还是使用了自定义队列,因为生曾多边形的各个点的数目是不确定的)
(六):当所有得点都得到保存以后,我继续在1.DrawBox中创建了重绘的方法,即可以将所有的点取出然后在重新在画图板上绘制出来,然后将这个重绘的方法传入Paint(当窗体放生改变时,就会自动调用的方法)中。
这样就做成了一个可以保存你所画图形的画图板,你就不用担心这个窗体一改变,自己花的图形没有了,o(∩_∩)o
最后,一个想法:
我既然可以用自定义队列保存多边形图形,那么我也可以用自定义队列保存任何我所画的图形。即将上面的6.LineShape~10.PolygonShape全部删除,然后自己创建一个万能的“图形保存器”,这样以后我不论画什么图形,都可以保存在这个“图形保存器”中,只要在这个“图形盒”中,用1,2,3...当作是图形“标识符”加以区分,不是更好么?
那么,沿着这个思路,下次我会上传一个更加好的,可以重绘的画图板。谢谢
1.DrawBox: 画图板启动程序
2.DrawListener: 画图板的监听器(事件监听器与鼠标监听器)
3.QueueInterface: 自定义队列的借口
4.QueueList: 自定义队列
5.ShapeObject: 图形对象(图形的父类)
6.LineShape: 直线图形
7.RectShape: 矩形图形
8.OvalShape: 椭圆图形
9.TriangleShape: 三角形图形
10.PolygonShape: 多边形图形
设计这个画图板的整体思路:
(一):在1.DrawBox中创立一个简易的画图板程序,然后在监听器中实现(1)各个图形的按钮和对应图形的生成(2)保存图形的方法。
(二)其中在(1)中主要是找坐标点,生成的画图板 程序以左上角为(0,0,)点,其他的可以按照一般思路解决。
(三):在(2)中保存方法的画,我是使用了自定义队列4.QueueList来保存的;将自定义队列看成一个盒子,空的盒子,盒子里面放的是图形对象,“图形盒”。
(四):然后是为了区别图形的对象,到底是什么图形,我又创建了一个5.ShapeObject,这个类中只保存图像的“标识符”,比如1为直线,2为矩形.......
(五):最后,再对各个图形分别创建一个小的子类,用来保存生成各个图形的所有点(这里需要注意我在多边形对象中还是使用了自定义队列,因为生曾多边形的各个点的数目是不确定的)
(六):当所有得点都得到保存以后,我继续在1.DrawBox中创建了重绘的方法,即可以将所有的点取出然后在重新在画图板上绘制出来,然后将这个重绘的方法传入Paint(当窗体放生改变时,就会自动调用的方法)中。
这样就做成了一个可以保存你所画图形的画图板,你就不用担心这个窗体一改变,自己花的图形没有了,o(∩_∩)o
最后,一个想法:
我既然可以用自定义队列保存多边形图形,那么我也可以用自定义队列保存任何我所画的图形。即将上面的6.LineShape~10.PolygonShape全部删除,然后自己创建一个万能的“图形保存器”,这样以后我不论画什么图形,都可以保存在这个“图形保存器”中,只要在这个“图形盒”中,用1,2,3...当作是图形“标识符”加以区分,不是更好么?
那么,沿着这个思路,下次我会上传一个更加好的,可以重绘的画图板。谢谢