说好的、画板呢@



初到蓝杰,第一个被吸引的就是“有项目,有真相”。作为一个大一的软件工程专业新生,上专业课的时候,枯燥的理论,提不起对编程的一点兴趣。我想,有个能看得见的东西是自己做出来的,我们会有成就感,这样我们就有更大的兴趣学下去了。

在龙哥的引导下,一点一点,画图板做了出来,但还不是很全的功能,这个是循序渐进的,学会新东西的时候我们还可以往它上边继续添加新功能,下边,是我在这个过程中,学到的一些东西,和总结的一些教训。

一、面向对象的理解

大一上学期,我们学的C,是个面向过程的语言,学的云里雾里的。在刚学JAVA这个面向对象语言的时候,感觉到比较新奇。面向对象,是一种很贴切生活化的东西。让我觉得编程的距离感一下就消除了很多。面向对象,我们首先学到的就是类与对象,这是贯穿Java编程的一条线。

类:是具有一些共同性质的对象的抽象。这个时候,我们可以联系到现实生活中的分类,人也可以作为一个类,动物也可以作为一个类。人和动物都是一些具有不同生命特征物种的分类。但是我们可以根据需求,把人和动物说成一个类,生命类。这个是没有逻辑错误的。Java中的类也是可以这样理解的,根据自己的需求,可以划分出不同的类,自己规定好属性和方法。

对象:是类的实例化。类比在现实生活中,就是从人这个类中,具体到你自己,你就是一个对象,很具体的东西,类和对象就大的差别就是一个是抽象的,一个是具体的。在代码实现时,对象是由类创建的,所以对象会有这个类的属性和方法。

二、编程的思路

我觉得这个是很重要的东西,一个人的思路影响到了整个编程的行为。在画图板中,我体会到,一个人对编程的大局观是很重要的,这好比盖房子,你先得有对整个建筑的设计蓝图,然后才从底部来一点一点实现。我们做东西的时候要弄清楚自己想要它做什么,才能去实现怎么去做。

1、就像做画图板的时候,我们初步的实现时要有个画板界面,所以就用JFrame创建了界面

2、我们要先实现画东西这个功能,我们就得先获取画布,有布我们才能画东西对不。然后就是一个实现功能的精髓,监听器!电脑最终不是人,没有眼睛去了解到我们做了什么动作,所以我们需要给画布去加监听器,这样电脑才能“看见”我们的动作,知道我们想要做什么,具体的怎么去画,这里我就不具体说了。

3、我们能画了,但是我们要丰富我们能画的东西,所以我们有了按钮去选择形状,JButton,和ButtonGroup。来实现。然后又有了颜色选择。

4、我们实现了这些功能之后,我们还需要美化一些布局,好的软件不只是功能的强大,还要美观。我们用了JPanel,JToolBar这些容器来盛放组件。然后是布局管理器来布局。细节的实现这里就不写,还有些细节就是Border等美观化的东西。

5、 画好之后,我们改变窗体,或者最小化时,图像会消失。所以我们有了图像的重绘。因为屏幕上的图像都是保存在缓存区内的,如果屏幕的图像被覆盖或者是没有在屏幕上显示完全,或者是改变了窗体大小,图像在缓存区的数据都会发生变化,甚至消失。正因如此,所以我们需要在窗体发生改变是重新绘制原来的数据,让它不至于消失掉。这个很简单,重写画布对象的paint方法即可,因为每次窗体发生变化是系统会自动调用它的paint方法。

以上是画板的大体思路,有了思路我们才方便去实现代码。可以这样比喻,思路是图纸,而代码只是砖头,砖头不需要我们去创造,我们设计,然后只需用别人的砖头去实现我们的房子。这段时间,让我明白了,如果你有思路,那么你已经成功了一大半了。

三、学会,不懂的东西,自己尝试着自己找资料学习

在学习Java时候,我认识了JAVA API这个很实用的东西,我们学习JAVA很多都是学习一个,然后触类旁通,就像我们学会了drawLine、那么我们在API里找到画圆的构造方法,难道改个名字,换个参数传递就不会了吗?所以说,会了一些,你就可以自己学习剩下相似的东西,老师交得东西,不可能是全面的,他们交会了我学习的方法。剩下的是我们用学习的方法去学习其他的知识。 有的时候学东西,我们需要大胆尝试,小心验证,这样,来的更深刻。

四、错误的总结,与积累

刚开始敲代码,总会不熟悉,缺胳膊少腿的。新手常犯的数组越界,和空指针。这是我们需要长时间的总结,积累和自己多敲代码熟悉,可以解决的。

代码示例就不上传了,最后上图~说好的画板~

猜你喜欢

转载自allen-y.iteye.com/blog/1486924