用java来制作画图板 _JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 用java来制作画图板

用java来制作画图板

 2012/1/10 12:42:38  pengchenming  程序员俱乐部  我要评论(0)
  • 摘要:画图板的总结技术总结:画图板做到现在,自己想了想,画图板实现的思想是先长骨头再生血肉。骨头即框架:窗体,面板,组件。血肉:监听器,队列,各组件功能的实现。骨头:1.对于窗体来说,它相当于一个最大的容器,所有的东西都包含在其中。所以首先要对这个容器进行设计,那么就包括窗体的标题,大小,布局管理器,设置可见,点击退出程序关闭。这里需要注意的是布局管理器,最开始用的流式布局管理器,但是后来因为涉及到整个窗体需要分区,所以就必须用边框布局管理器。说到这里就必须要介绍面板了,即五个区域。2.总共是五个
  • 标签:

?

?????????????????????????????????????????????

??????????????? ?画图板的总结

?

技术总结:

?

画图板做到现在,自己想了想,画图板实现的思想是先长骨头再生血肉。骨头即框架:窗体,面板,组件。血肉:监听器,队列,各组件功能的实现。

骨头

?

1.对于窗体来说,它相当于一个最大的容器,所有的东西都包含在其中。所以首先要对这个容器进行设计,那么就包括窗体的标题,大小,布局管理器,设置可见,点击退出程序关闭。这里需要注意的是布局管理器,最开始用的流式布局管理器,但是后来因为涉及到整个窗体需要分区,所以就必须用边框布局管理器。说到这里就必须要介绍面板了,即五个区域。

???

2.总共是五个,分别是NORTHSOUTHWESTEASTCENTER,根据windows中自带的画图板来一一实现每个区域。而每个区域都是以面板为容器,所以我们也要先设计好面板的样式:大小,背景,布局管理器。其中需要注意的是大小,对于大小,只有窗体的大小可以直接jf.setsize( ).而其他的组件都必须要首先创建Dimension对象,然后用setPreferredSize()添加Dimension对象。而布局管理器根据面板上组件不同的性质来设置。其中比较特别的是SOUTH面板,它的布局管理器是设置为NULL,因为它的组件是用setbounds来确定自己的位置。

???

3.因为每个区域要实现的功能不同,所以需要不同的组件。设置菜单栏。需要的是JmenuBarJmenuJmenuItem 组件。其中需要注意的是,窗体对象添加菜单栏的时候,不是用add.而是用setJmenuBar

???

4.左面板区域实现根据用户的需要来改变所画的图形。于是用按钮组件来体现。1在这里涉及了一个小难点:如何设置按钮的图标。解决方案:首先根据图片保存的地址来创建java.net.URL 对象,然后再用java.net.URL来创建javax.swing.ImageIcon对象,最后添加到按钮上。这个过程中需要注意一个按钮有四种状态:静止,进入,点,选择。所以有四种图标。同时需要注意的是这里因为需要添加的图标很多,所以运用到for循环语句2因为设置了图标,所以就不需要设置大小了。但是需要设置它的边框。 3为了后面监听器的实现,那么就必须在每个按钮上设置动作命令。 4最后要将所有形状按钮放到一个按钮组。

???

5.中面板上是要实现画画的功能。所以必须要在其上添加一个画布面板。然后在画布面板上取得画布对象。这里就涉及到了几个很重要的知识:如何保存图片。1学习了数据结构中的数组和队列。对于队列,它是以数组为基础的。写一个队列时,先根据它需要的功能来编写它的接口。感觉这里很有意思,就像一个项目经理根据客户的要求来写一个接口,然后安排团队的其他人去完成。 2 重写父类的画画方法。

???

6.底面板是用来改变画笔的颜色,根据windows自带的画图板,将这个面板分为三个面板。一个是来呈现选中的颜色,一个是来选颜色,一个是来备注。由于这里流式管理器不好安排三个面板的位置,所以就用setbounds来设置位置。这里颜色的选择和显示都是用标签。需要设置它的大小,边框,背景,透明度。

血肉:

?

1.监听器。顾名思义,它是用来监视事情的发生和发展,并且因此而做出反应。在使用监听器之前需要先把监听器的方法给实现和编写自己需要的方法。因此涉及到子类,父类的知识。同时因为要把主界面的一些参数传递到监听器中,所以需要重载监听器的构造器。而监听器又是如何实现组件的功能的呢?

*?????????? 形状组件:根据形状组选中的按钮的动作命令来判断是要画什么类型的形状。然后就根据每个形状的特点来写程序,并且要把每次画的图形用队列保留下来。

?

*?????????? 颜色标签:颜色就相对来说比较简单,只需要在mousePressed方法中用e.getSourcee.getButton来设置画笔的颜色。

?

2.队列。一种数据储存结构。它的最主要的特点是长度可变,不惟一。它是需要根据自己的需要来编写方法和属性,Java中并不自带。在画图板中主要是用来保存图形的。?

?

?

心路成长:

????????? 1 凡事首先要想到是否自己就可以解决。培养自己查找资料的能力。

???

????2 培养自己的商业思维,程序不是只写给自己看的,所以必须注意它的可读性。

?

??? 3 做事不要总是只想而不去动手实践,那么成功的可能性就会大大降低。

?

??? 4 成功的办法很简单,就是踏踏实实的做。

?

?

?

?

  • 形状队列.zip (633 Bytes)
  • 下载次数: 0
  • 主界面的程序.rar (3 KB)
  • 下载次数: 0
  • 监听器的程序.rar (1.1 KB)
  • 下载次数: 0
  • 相关文章
发表评论
用户名: 匿名