从画图板谈面向对象

              最近着手了一个新的项目--画图板。由于画图板上有很多按钮,大致可以按照功能和颜色分类。可是这么多的按钮要实现不同的功能,初步地试想了下觉得是不是要添加几十个监听器,实现对按钮的对应控制,学习的过程中了解到了有setActionCommand ()和getActionCommand()两个方法,在创建监听器的时候可以在循环创建按钮的同时添加setActionCommand()方法,然后在监听器内用一个变量 接受e.getActionCommand()来获取接收到的指令。我采用一个与图片数量相同大小的字符串数组,创建按钮的同时将字符串数组传入setActionCommand中,然后在监听器内获取,最后在鼠标监听器内根据接受的值来决定画什么或者实现什么功能 。

          在绘图功能列表方面,利用一个Shapes作为父类封装图形的属性(坐标值和颜色),再分别在画直线、椭圆、刷子等类继承Shapes类从而绘出相应的图形。这样大大节省了代码的开支,只要在每个类中实现父类的draw方法就可以画出相应的图形,并且创建一个自己的抽象类容器,将shapes封装进去,用以保存绘制过的图形。这样变换窗体图形不会消失,并且会自动调用paint方法重绘。

         我现阶段的感觉,在编程中对一类事物的封装往往能够化繁为简,大大提高代码质量。不仅使代码变得便于阅读,也方便以后的修改,在JAVA的学习中一定要牢牢把控住面向对象的思想,考虑问题的时候以面向对象的思想为核心,必定能在程序设计方面有所建树。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值