初学java 历时N久 憋出了这个最终能看的下去的画板 其过程曲折 错误不断 现在想想收获真是不少
先上图吧:
[img]http://dl.iteye.com/upload/attachment/434733/bf2f9dad-2731-3627-bd0b-0dd251a8d7f4.jpg[/img]
颜色选择:
[img]http://dl.iteye.com/upload/attachment/434753/c0e4fa13-5285-365b-9b4a-16c49af3d559.png[/img]
画图:
[img]http://dl.iteye.com/upload/attachment/434755/070cb09f-d510-3ceb-a005-f964ad6d9b80.png[/img]
简述一下思想:
1首先要做一个窗体,为了实现可选择形状和颜色功能,需要将窗体分为左右两个JPanle,坐标加上按钮,右边设置为画画的区域
2要想画出图形,就必须给右边的JPanel加上鼠标监听器,重写鼠标监听器的方法,取得按鼠标和松鼠标时的坐标,并且松鼠标时能根据相应的指令画出图形,给左边JPanle加上不同形状的按钮,设置ActionCommand并加上动作监听器,重写监听器中的方法,使得点击按钮,可以获得相应的指令,并且鼠标监听器可以应用这些指令。颜色选择器亦是如此。
3创建一个队列,利用泛型方法,保存画过的形状对象。可以定义一个形状类接口,在创建不同的形状类如线、方、圆类时继承该接口,并重写接口中的方法,使得不同子类内部都能有绘制相应形状的方法。
4在监听器中,每次mouseReleased后都根据按钮上的指令,创建相应的形状子类对象,调用相应方法绘图。
5在主类中重写父类的paint方法,遍历队列对象,实现图形重绘
这是第一个java小程序,从中学到不少,方方面面的知识灌入脑中,如果没有一个统一而清晰的整体思想,就会陷入各个细节,在层出不穷的细节错误中纠结、迷失。必须先整体规划,再局部设计、调整。不过做出来了,还是自我表扬一下吧 ,呵呵.
这个画板只是基础版本、在形状种类、颜色选择、图形文件保存、界面美化等等各方面都有待提升,所以路广天远,继续加油喽!
先上图吧:
[img]http://dl.iteye.com/upload/attachment/434733/bf2f9dad-2731-3627-bd0b-0dd251a8d7f4.jpg[/img]
颜色选择:
[img]http://dl.iteye.com/upload/attachment/434753/c0e4fa13-5285-365b-9b4a-16c49af3d559.png[/img]
画图:
[img]http://dl.iteye.com/upload/attachment/434755/070cb09f-d510-3ceb-a005-f964ad6d9b80.png[/img]
简述一下思想:
1首先要做一个窗体,为了实现可选择形状和颜色功能,需要将窗体分为左右两个JPanle,坐标加上按钮,右边设置为画画的区域
2要想画出图形,就必须给右边的JPanel加上鼠标监听器,重写鼠标监听器的方法,取得按鼠标和松鼠标时的坐标,并且松鼠标时能根据相应的指令画出图形,给左边JPanle加上不同形状的按钮,设置ActionCommand并加上动作监听器,重写监听器中的方法,使得点击按钮,可以获得相应的指令,并且鼠标监听器可以应用这些指令。颜色选择器亦是如此。
3创建一个队列,利用泛型方法,保存画过的形状对象。可以定义一个形状类接口,在创建不同的形状类如线、方、圆类时继承该接口,并重写接口中的方法,使得不同子类内部都能有绘制相应形状的方法。
4在监听器中,每次mouseReleased后都根据按钮上的指令,创建相应的形状子类对象,调用相应方法绘图。
5在主类中重写父类的paint方法,遍历队列对象,实现图形重绘
这是第一个java小程序,从中学到不少,方方面面的知识灌入脑中,如果没有一个统一而清晰的整体思想,就会陷入各个细节,在层出不穷的细节错误中纠结、迷失。必须先整体规划,再局部设计、调整。不过做出来了,还是自我表扬一下吧 ,呵呵.
这个画板只是基础版本、在形状种类、颜色选择、图形文件保存、界面美化等等各方面都有待提升,所以路广天远,继续加油喽!