自制画板

[list]
[*]编写一个简单的画板,主要使用到java里面的swing和awt。
大致思路是:创建一个窗体对象,在窗体上添加三个面板,一个做工具栏,一个做颜色选项栏,另一个做画布;还要添加一个菜单栏。再对这四个分块分别添加按钮等选项。
为了方便实例化对象,引入swing和awt下的一些类。

1,实例化一个窗体rd,对窗体的属性初始化。比如标题、大小等属性。
给rd添加一个菜单栏cd,rd.setJMenuBar(cd);给cd添加一行选项,均用JMenu实例化,如JMenu mfile=new JMenu("文件"); 然后用add函数把它们添加到选项中。对选项也可以添加下拉选项。比如文件下拉中会有新建选项。则这样实例化:JMenuItem fileM=new JMenuItem("新建"); 也用add函数把它们添加到菜单选项中。注意这里要逐级添加。mfile.add(fileM); cd.add(mfile); rd.setJMenuBar(cd);
而且该处实例化时都是直接用类名实例化的,是因为本文件最开始已引入了该类的位置。若未引入,则因将类的位置指示完全。如javax.swing.JMenu jm=new javax.swing.JMenu("文件");

2,实例化一个画图面板做画布dp,这里主要是设置属性就行了。最后要把它添加到窗体上rd.add(dp);。

3,实例化一个面板gl用于做工具栏。对工具栏属性进行初始化,设置位置坐标,背景色等。在工具栏上添加一些按钮,用于画图时选择画图工具。对于按钮,不仅可以将文字作为按钮标识符,也可以用图片,不过要获取图片路径。最后也要将面板添加到窗体上。rd.add(gl);

4,在实例化一个颜色选择面板cp,设置背景色等属性,添加的哦啊窗体上。

5,到这里一个画板外表基本成型了,但是,工具栏和颜色选择栏中,各个按钮所代表的选项,还无法实现。为此,对于每个按钮,就要添加一个监听器。对各按钮设置动作命令,每当点击某一个按钮时,要使画板能按照我们的想法做出相应的动作。按照不同的要求添加不同类型的监听器,用: 按钮名.add事件名Listener(事件处理器); 的格式。而在这之前,先用匿名内部类对按钮所对应的动作进行实现。可以是动作监听器(如当鼠标点击一个按钮时,就调用该按钮对应的动作),也可以是鼠标监听器(当鼠标箭头出现在相应位置时,就做出相应动作)。这样,我们就可以通过点击不同的按钮来选择是画圆,画直线,还是画曲线,选择哪种颜色。

6,做到这里,一个简单画板基本是可以用了,但是我们发现,当窗体一旦被隐藏,再显示出来时原来画的图形都没有了,也就是画布没有保存图形。为此,实例化一个队列,用来保存每次画出图形的相关信息,再重写父类JFrame中的paint方法,这样,当窗体被隐藏后,再次点击显示出来时,画布就会自动重画之前的图形,也就达到了保存图形的效果。
[/list]

你可能感兴趣的:(自制画板)