所用基础知识 图形界面与面向对象思维
展示结果大概是界面包括飘动的蛋糕和各种水果,生日蛋糕和祝福语还有流动的背景
(主要是面向对象的思维运用,具体完善读者可按创意修改,送朋友也不错哦)

首先将各种物体共有属性抽象化,例如该实例中蛋糕,水果..都有共有的属性移动速度,在图形界面中的位置,还有公共的行为移动,绘图所以可以抽象为一个具体的类里面包含刚才所提到的属性及抽象方法。



然后就根据java图形界面的特性,可以自己创建一个容器类继承JPanel类(该类可在绘制中有特殊作用),在将整个容器添加到JFrame启动即可,在自己的容器里添加想要的背景和各种图片。
值得一提的是重绘功能,所有图片的是由重绘功能实现移动的,所以需要新建一个线程以保证容器的内容一直在重绘,且像一些一直飘落的小蛋糕等图片需要进行边缘检测,移除那些流出界面的道具。
具体的代码如下(只展示基本框架了),图片自拟吧就不传了
网友评论