haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 幼儿教育 > 少儿英语少儿英语

java简易画图板

发布时间:2014-02-18 14:07:21  

《Java程序设计》课程设计报告

华 北 科 技 学 院

课程设计说明书

班级: 网络B101

设计题目: 画图板软件开发和设计

评 语:_________________________________

_________________________________________

_________________________________________

_________________________________________

_________________________________________

评阅成绩:__ __评阅教师:__ ___

目 录

1 引 言 ................................................................................................................................... 1

-I-

《Java程序设计》课程设计报告

1.1课程设计选题 ............................................................................................................ 1

1.2课程设计的目的 ........................................................................................................ 1

1.3本选题的设计背景 .................................................................................................... 1

2 需求分析 .............................................................................................................................. 1

2.1 功能需求.................................................................................................................... 1

2.2 系统的开发运行环境 ............................................................................................... 2

3 总体设计 .............................................................................................................................. 2

3.1 系统体系结构设计 ................................................................................................... 2

3.2系统功能模块及主要类设计 ................................................................................... 3

4 详细设计与实现 .................................................................................................................. 6

4.1 菜单栏模块 ............................................................................................................... 6

4.2 文字字型工具栏模块 ............................................................................................... 7

4.3 工具栏模块 ............................................................................................................... 8

4.4 颜色选择面板模块 ................................................................................................. 10

4.5 鼠标状态栏模块 ..................................................................................................... 12

4.6 画图区域以及整体布局模块 ................................................................................ 13

5 小结和展望 ........................................................................................................................ 15

参 考 文 献 .......................................................................................................................... 17

附 录 ....................................................................................................................................... 17

使用说明书..................................................................................................................... 17

-II-

《Java程序设计》课程设计报告

1 引 言

1.1课程设计选题

《画图板软件开发和设计》

1.2课程设计的目的

使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。

1.3本选题的设计背景

平时生活中,我们会需要处理一些基本的图像,也有可能需要花一些简单的图像,平时所使用的图形处理工具有 PhotoShop、Windows 画图工具等,其中PhotoShop 是一款非常强大的图形处理工具,Windows 画图工具则是一款较为简单的画图工具,功能较为简单,用Windows画图工具,是一种比较简单与具有代表性的画图工具,虽然功能不够强大,但具有大多图片处理程序所必需的基本功能:铅笔画图、各种数学函数图形、填色、取色、橡皮擦等等。所以这次课程设计我做的就是一个仿照Windows画板的程序。

通过画图板软件开发与设计,更深刻地体会java语言较之其他语言在图形用户界面的优势。熟悉java语言中常用的关于画图的各个类的功能和常用的方法(java图形用户界面中的众多函数与类的关系),并在实验过程中加深对java语言的理解与运用。

2 需求分析

2.1 功能需求

对于绘图软件,应具备最基本的绘制直线,矩形框,圆形框,椭圆框等最基本功能,此外,要可以对绘制的图形进行修改;将绘制好的图形进行保存,打开以前保存的图形;在需要的时候,可以绘制实心矩形,实心圆形,实心椭圆等常见的几何图形。可

-1-

《Java程序设计》课程设计报告

以在绘图区添加文字,方便注释。可以修改颜色。要有自由铅笔的功能,可以方便自由添加曲线。有橡皮擦的功能选项可以对图像进行局部擦除。

2.2 系统的开发运行环境

本系统开发平台: Java

本系统集成开发环境:Eclipse

本系统运行环境: Windows xp

3 总体设计

3.1 系统体系结构设计

这个画图板程序的界面包括菜单栏、文字字型工具栏、工具栏,绘图区、颜色选择面板和鼠标状态栏。以下是对各部分所包含的内容作介绍:

窗口:整个界面的最外围部分,显示画图板的名字;

文字字型工具栏:包括对文字是否加粗、倾斜的设置,以及对要输入的文字的字体设置。

菜单栏:包括文件,颜色,编辑,图像,帮助5个菜单项;

文件:包括新建,保存,打开,退出4个选项;

颜色:包括编辑颜色选项,可弹出颜色选择对画框;

编辑:包括撤销,恢复,复制,粘贴4个选项;

图像:包括图像缩放,翻转,旋转,倾斜4个选项,其中翻转包含 水平翻转和 竖直翻转两个子选项;

帮助:包括帮助主题,关于画图板2个选项。关于画图板显示关于画图板及作 者的一些信息介绍;

工具栏:包括自由画笔(铅笔)、直线、空心矩形、填充矩形、空心椭圆、填充椭圆、空心圆形、填充圆形、空心圆角矩形、填充圆角矩形、橡皮擦、设置背景颜色、画笔粗细设置"、输入文字"的按钮。

绘图区:用于绘制图形。

-2-

《Java程序设计》课程设计报告

颜色择面板:这是一个简单的颜色选择面板,只有最基本的几种颜色选择。

状态栏:显示鼠标所处的状态和位置。初始状态显示提示信息“欢迎进入我的绘图

板世界”。光标移动后,显示光标状态及其所在位置。

3.2系统功能模块及主要类设计

1.功能描述

该画图板可以用于画直线、矩形、实心矩形、椭圆、实心椭圆、圆形、实心圆形、等各类常见的几何图形。当出现错误时,可以用橡皮擦工具对图像进行局部清除,也可以新建一个文件覆盖掉原文件。可以通过颜色选择面板选择颜色实现对画图板的画笔颜色的设置,也可以通过菜单栏颜色菜单的编辑颜色选项打开颜色选择对话框选择较为复杂的颜色。还可以点击工具栏中的设置背景色按钮选择颜色设置整个画面的背景颜色;当画笔大小不合适时,可以通过点击工具栏中的设置画笔粗细按钮进行设置;当需要时,用户可以向画图板中添加文字,以鼠标点击位置,为文字输入的位置,可以通过文字字型工具栏设置文字的样式,是否加粗或倾斜、选择什么字体。工具栏还可以移动。 若不了解画图板使用方法,可以查看附录中的使用说明书;此外,帮助菜单下有关于画图板和作者的介绍;用户可以在文件中选择保存选项保存绘制的图形,可以选择打开,新建,另存等实现相应的操作。

仿照windows画板界面对各部分进行分配使该画图板的界面尽量合理。

2. 结构图

总体结构图(主要模块):

图3.1程序总体结构图(主要模块)

菜单栏结构图:

-3-

《Java程序设计》课程设计报告

3.在该画图板软件程序中的主要类、方法及其功能如下表:

-4-

《Java程序设计》课程设计报告

板的名字设置为“画图板”,默认窗口的初始位置为(0,0),设置大小,设置窗体的可见性为真,设置鼠标的属性为HAND_CURSOR,设置当单击窗体右上角的关闭图标时,程序做DO_NOTHING_ON_CLOSE处理,为窗体添加窗口监听器,当按关闭按钮时用

-5-

《Java程序设计》课程设计报告

showConfirmdialog函数弹出“退出前是否保存?”的对话框;添加菜单条;为工具栏中的各按钮添加图片,之后将按钮添加到工具条中。将工具栏中的弹出菜单通过调用ToolMenu函数加入进去;为个按钮加上相应的监听器;将字体列表加入到工具栏中,设置下拉列表的最大显示行数为10行。其它类均为主类服务。

4 详细设计与实现

4.1 菜单栏模块

1.功能设计

菜单栏实现的功能主要包括:

(1).对文件的保存、新建、打开等基本操作。

(2).对图像或文字对象的复制、粘贴、翻转、图像缩放、旋转等操作。

(3).选择较为复杂的颜色(设置整个画面的背景颜色或文字的颜色等)。

2.界面设计

菜单栏界面图:

3.模块算法(或重要代码段)

在菜单栏模块中主要格局的实现:

(1).创建菜单条

JMenuBar bar = new JMenuBar();

(2).创建实现功能的菜单项,对每个菜单进行监听。

为编辑颜色菜单项添加监听器:

-6-

《Java程序设计》课程设计报告

colorItem.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e)

{ chooseColor(); //如果被触发,则调用选择颜色函数段

}

});

(3).创建菜单,并将每个菜单对应的菜单项添加到对应的菜单中。

4.2 文字字型工具栏模块

1.功能设计

文字字型工具栏模块是比较简单的一个模块,用以设置文字是否加粗、倾斜、是什么样的字体。

2.界面设计

3.模块算法(或重要代码段)

(1).用JCheckBox类创建按钮bold(加粗)、italic(倾斜),并设置背景颜色。

(2).创建事件侦听器类checkBoxHandler。checkboxHandler实现了接口ItemListener,为复选框的监听器类。重写了方法itemStateChanged。当事件源被选中时则设置字体为响应的风格,否则字体风格为默认风格;通过调用系统的getSource()函数获得事件源,通过ItemEvent的值判断该按钮是否被选中。

(3).创建checkBoxHandler对象cHandler。侦听bold(加粗)、italic(倾斜)。

-7-

《Java程序设计》课程设计报告

(4).用JToolBar类创建对象buttonPanel2。将bold、italic添加到buttonPanel2中,buttonPanel2添加分割线,添加标签对象"字体:"。

(5).用JCheckBox类创建字体选择框对象styles,设置字体选框大小。侦听。

(6).将styles添加到buttonPanel2中。

详细实现见代码。

4.3 工具栏模块

1.功能设计

工具栏主要是为便于画图而将常用的画图工具设为按钮罗列出来,显示到工具栏上。将工具栏放到整个界面的左边。在该程序中画图工具有:铅笔,画直线、空心矩形、填充矩形、空心椭圆、填充椭圆、空心圆形、填充圆形、空心圆角矩形、填充圆角矩形、橡皮擦、设置背景颜色、画笔粗细设置、输入文字。

2.界面设计

工具栏初始界面及可移动界面图:

3.模块算法(或重要代码段)

该模块主要用于完成工具栏。实现界面的设计后,实现按钮的功能。

界面实现:

(1).用图片创建工具按钮。使用JButton 的JButton(AbstractActoinaction)构造器去创建JButton,以图形的方式创建按钮。

(2)将按钮添加到标题为"工具"的工具栏。设置工具栏属性。

(3).将工具栏添加到面板buttonpanel。

-8-

《Java程序设计》课程设计报告

详细实现见代码

在该模块中所用到的函数有:

ChooseColor()函数:调用系统的JColorChooser中showDialog()方法,设置当前画笔的颜色,调用getRed()方法,获取所选中颜色的r、 g、b的值,将当前要添加的图形的颜色设置成相应的颜色。

SetStroke()函数:用于设置画笔粗细。调用系统showInputDialog()方法,跳出对话框让用户输入所需线条宽度。获得要设置的值(这里是以字符串的形式保存的),调用系统函数Float.parseFloat(String)函数,将字符串转换为float型,之后设置画笔粗细。

在工具栏这一模块中用到的类有:

ButtonHandler实现了接口ActionListener的方法,用于工具栏中画图按钮的监听。首先通过getSource()函数获得事件源,将currentChoice的值设置为事件源的值,新建一个绘图新项目,重绘组件。

ButtonHandler1实现了接口ActionListener的方法,用于工具栏中背景色,画笔粗细选择,画笔颜色,文件输入事件的监听。同样通过getSource()函数获取事件源,之后调用相应的函数,实现功能。

Drawings实现了Serialization接口,启用序列化功能。

画图时用到的类主要的类是外部类,详细功能见类表。

4.调试与测试

在工具栏这一模块的调试过程中遇到的问题比较多。刚开始调试时没有用图片创建按钮,想着先实现一个大概的模式再把图片加进去。然后,我显示创建了按钮后设置了工具栏面板的布局为GridLayout。用add()方法将按钮添加到面板中。但界面总是无法实现预期结果,有时甚至全屏都灰掉无法实现显示。我一直不知道为什么。后来找到一份实现了我想要的界面的画图软件设计的报告,报告中没有全部的代码,但是在工具栏这一模块中简单地介绍了界面实现的方法并附有部分代码。后来,我参照着要先将按钮添加到Toolbar的对象中,设置Toolbar对象的布局为GridLayout,并设置其它一系列属性。然后,再将其添加到面板中。可是在这部分代码中,他用到了一个自定义的类

-9-

《Java程序设计》课程设计报告

(ImageAction),可是又没有这个类的参考代码。联系整份报告了解在他的程序中ImageAction类是个按键处理类,在这一模块中的大致功能应该是用图片创建功能按钮。在同学的帮助下用系统方法ImageIcon()创建了功能按钮。然后实现了界面的大概模式。

可是当我把图标图片添加到工程中,图标空心圆形和填充圆形无法显示。我就觉得很奇怪,明明是一样的按钮设置,怎么有的就无法显示呢?我把这一部分的代码反反复复地看了好几遍,没发现有什么错误。可那两个按钮的图片就是无法显示,后来看了图片才发现,在一整组图片中就Circle和fCircle两张图片格式和其他图片的不一样。而代码中在创建按钮时是用后缀为".jpg"的图片格式。所以按钮的图片只能是".jpg"文件才能将图片添加进按钮。后来,我修改了Circle和fCircle两张图片的格式。完成了界面的实现。

后来,在实现按钮功能的时候,由于是实现功能的代码是从其他参考代码中来的。而其源代码实现的按钮功能与我想要实现的工能的数目不一、顺序也不一样。导致按钮功能紊乱。在将多余的功能删除、缺少的功能添上、对按钮监听等顺序重新排列后,运行结果是大部分的功能都能正常使用了,可是铅笔按钮总是没法正常。看了好久都没发现什么问题。后来同学帮忙看了,才发现是因为没有修改在刚开始定义的画图区域的默认画图状态没有修改为本程序对应的数值:private int currentChoice = 0; 将画图状态设置默认画图状态为随笔画,导致一开始画图状态的失常。改成对应数值后,按钮的功能就能正常执行了。

4.4 颜色选择面板模块

1.功能设计

颜色选择面板主要是仿照Windows系统中的画图软件的颜色选择面板来设置界面的。将一些较为主要的、常见的颜色添加到面板中,供用户选择。主要是为便于用户进行颜色的替换。在该面板中可供选择的颜色有12种。

2.界面设计

主要包括两部分前面较大的按钮显示的是当前正在使用的颜色,默认为黑色。以下是实现的结果图:

-10-

《Java程序设计》课程设计报告

3模块算法

颜色选择面板是参考工具栏模块来创建的。相比于工具栏模块需要考虑的问题也不少,比如如何设置当前所选用的颜色按钮及供选择的颜色选择按钮的排列。以及在供给选择的颜色选项中选择了颜色后,要如何同步到当前所选用的颜色按钮。还有,在工具栏模块中按钮是通过图片创建的,那么颜色选择面板的按钮要如何显示颜色。

同样颜色选择面板也是先创建出界面,然后通过监听动作实现其颜色选择的功能。

(1).创建颜色按钮(包括颜色选项及正在使用的颜色的按钮),设置按钮的背景颜色、大小。

(2).创建事件侦听器类ColorHandler实现了接口ActionListener的方法,用于颜色选项按钮的监听。首先通过getSource()函数获得事件源,将currentColorPanel的背景颜色设置为选中颜色按钮的颜色。然后将选中按钮的颜色的R,G,B值传给当前画笔。

(3).用ColorHandler创建对象ch。侦听颜色选项按钮。把按钮加到JToolBar类实例colorTool中。设置colorTool的布局方式为GridLayout。

(4)将colorTool添加到颜色面板colorpanel上。详细实现见代码。

//颜色选择面板侦听器ColorHandler类,用来侦听选择颜色选择面板中颜色按钮的操作 public class ColorHandler implements ActionListener {

public void actionPerformed(ActionEvent e) { for(int i=0;i<panelArr.length;i++){ if(e.getSource()==panelArr[i]){ currentColorPanel.setBackground(colorArr[i]); R = currentColorPanel.getBackground().getRed(); G = currentColorPanel.getBackground().getGreen(); B = currentColorPanel.getBackground().getBlue(); itemList[index].R = R; itemList[index].G = G; itemList[index].B = B; } } } }

-11-

《Java程序设计》课程设计报告

4.调试与测试

由于颜色选择面板是在完成工具模块后才着手做的,所以问题相对比较少一些,但还是遇到了一些问题。

在考虑如何设置颜色按钮显示的颜色的时候,有考虑找颜色图标图片来创建按钮。后来考虑到还要用到颜色的R,G,B值,所以决定用系统类的方法来设置颜色。但是因为以前对没有用过相关功能,不清楚如何设置按钮颜色,后来查了下发现可以通过设置按钮的背景颜色显示颜色按钮。然后直接按钮背景颜色的值。

最后虽然程序能运行,对颜色选择功能也能正常执行。但环境提示有错,因为程序能运行所以我没怎么在意。后来同学在帮忙看程序的时候,发现环境报错。就看错误提示说大概是“超出定义范围”错误。查看了一番后,发现是因为在为颜色按钮创建监控器的时候for循环中本应是i<panelArr.length;而我写成了i<=panelArr.length。数组是从0开始计数,所以i不能等于panelArr.length。所以环境一直报错。

4.5 鼠标状态栏模块

1.功能设计

鼠标状态栏就是用以显示鼠标在画图区域内的状态是Exited、Moved或是Pressed,以及鼠标的横纵坐标。

2.界面设计

初始界面及常见显示界面:

3.模块算法(或重要代码段)

statusBar 是用标签类JLabel创建的对象。鼠标的状态是通过两个鼠标侦听类(鼠标事件mouseA类、鼠标事件mouseB类)得来并显示的。

//鼠标状态栏

statusBar = new JLabel(); statusBar.setText(" 欢迎进入我的绘图板界面!!! :)");

createNewItem();

setSize(width, height);

-12-

《Java程序设计》课程设计报告

JPanel status=new JPanel(); status.setLayout(new FlowLayout(FlowLayout.LEFT)); status.add(statusBar); JSplitPane splitpane.setDividerLocation(550); splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,colorpanel,status);

4.调试与测试

原本程序中没有颜色选择面板的时候,鼠标状态栏是显示在窗口的左下角的位置的。设置了颜色选择面板后,鼠标状态栏就被覆盖了。只能显示颜色选择面板,有时候程序运行还无法显示界面结果。

其实鼠标状态栏实现的界面有一点点没有达到我所想的结果,就是没有紧靠窗口下边框。可是因为鼠标状态栏与颜色选择面板同放在一个水平拆分窗格的左右两边,而我又不知道如何设置使其紧靠窗口下边框。时间也不容许再在这个问题上纠缠,所以我也就没有再深入考虑了。

4.6 画图区域以及整体布局模块

1.功能设计

在该程序中绘图区主要用自定义类DrawPanel面板类创建对象实现。在DrawPanel面板类中定义绘图区域的初始状态为铅笔。

而绘图时的主要操作工具是鼠标,因此对绘图区加入了鼠标事件的监听器,用于鼠标的各种状况的监听。在该程序中创建了两个鼠标事件的类。

鼠标事件mouseA类为MouseAdapter的子类,实现了4个函数,即mousePressed,mouseReleased,mouseEntered,mouseExited,作用如下:

mousePressed:设置状态栏的提示信息为“鼠标点击”,调用系统函数getX()与getY()获取鼠标位置,并在鼠标状态栏输出,将x1,y1,x2,y2的值设置为当前鼠标的位置,若当前选择为铅笔或橡皮擦,则将当前已画图形的数目index加一,并创建新项目;若当前所选为文本,则对字体,文本进行相应的设置。

-13-

《Java程序设计》课程设计报告

mouseReleased:设置状态栏的提示信息为“鼠标松开”,调用系统函数获取当前鼠标的位置并输出;若当前选择为自由画笔或橡皮,则将x1与y1的值设置为当前鼠标位置;设置x2,y2的值为当前鼠标位置,创建一个新的项目。

mouseEntered:设置状态栏的提示信息为“鼠标进入”,并显示鼠标位置。

mouseExited:设置状态栏的提示信息为“鼠标移出”,显示鼠标移出时的位置。 鼠标事件mouseA类为MouseMotionAdapter的子类,处理鼠标鼠标拖动事件,包括以下函数:

mouseDragged:设置状态栏的提示信息为“画图”,若当前选择为自由画笔或橡皮,则将当前图形的x值与y值及上个图形的x,y值做相应赋值,否则,只将当前图形的x2,y2的值设置为当前鼠标的位置。

mouseMoved:设置状态栏的提示信息为“鼠标移动”,并显示鼠标位置。

CreateNewItem()函数:当当前选择为文本时,设置鼠标形状为TEXT_CURSOR,否则设置鼠标形状为CROSSHAIR_CURSOR,当当前选择为0到11或13时,则建立相应的实例,并结束switch语句,将itemlist中的属性设置为当前所选择的属性。

整体布局主要仿照windows画板界面,使该画图板的界面尽量合理。

2.界面设计

实现界面及主要功能实现:

3.模块算法(或重要代码段)

-14-

《Java程序设计》课程设计报告

//整体的格局:

Container c = getContentPane();

c.setSize(600, 600);

super.setJMenuBar(bar); //设置菜单条

c.add(buttonpanel, BorderLayout.WEST);

c.add(buttonPanel2, BorderLayout.NORTH);

c.add(splitpane, BorderLayout.SOUTH);

c.add(scroll, BorderLayout.CENTER);

4.调试与测试

画图区域的滚动条还是没能正常显示,从一开始就一直在考虑画图区域的滚动条如何设置。因为画图区域是JPanel类的子类创建的对象,所以想像之前做记事本时为文本区加滚动条那样添加,好像是没法实现了。所以我查了下资料,可以将画图面板添加到滚动条对象中,然后将滚动条对象添加到容器中,然后将画图区域的大小设置成比窗口大,滚动条就能一直显示。我调试过,不知道是不是我那里弄错了,反正不行。所以,我还是按原来的方式来添加滚动条。但是,它还是没法正常显示。

在对于整个窗体的整体的格局的布置,几乎每加一个部分就会出现一系列问题。但是其实又不是什么真的无法解决的问题,只要好好的、耐心地分析代码,算法就能发现问题所在。这揭露了我还是没能很透彻地理解各个组件之间的关系、联系的问题。有时候看似很简单的问题,解决起来并不简单。

5 小结和展望

从一开始确定了题目后,就确定了以 Windows XP系统中带画图软件作为参考来设计界面及功能的大致方向。

我先是从图书馆找了参考的书,有关整个软件的主要功能或者关于我想实现的部分功能的介绍即常考代码。后来找了一份与我想实现的功能较为接近的程序来参考。但没能找到与系统自带画图软件界面相似的程序源代码。只找到一份实验报告说明。但是在这份报告中介绍了布局的主要方法。

程序虽然已做完成处理。但是它还是有许多不足。我觉得最遗憾的就是菜单栏里的选项有好些都没有实现。如对图像的处理中翻转、倾斜、缩放等功能还有编辑

-15-

《Java程序设计》课程设计报告

菜单栏。原本是有找了参考资料,但是对图像的处理并不是很理解,将代码录入到环境中,也没有调试出结果。其实有矩形区域的复制、粘贴等功能还是可以完善的。但是和图像的处理一样,没能较仔细的去研究一下。觉得还蛮可惜的。又由于在实现关于整个窗口的布局和工具栏上纠结了较长的时间,所以后面没有较充分的时间来实现菜单栏上的主要选项的功能。

而在看完了其他同学的程序代码后,我发现自己程序代码通篇在一个java文件中,对其中的部分功能进行调试的时候在找部分代码很费时间。影响调试。后来我就把其中的外部类另外建了一个名为Waibubule 的Java文件。但是主程序还是有七百多行的代码。还是比较复杂。本来可以把内部类也弄成一个java文件的,但是因为考虑到还要在内部类中创建主类的对像,怕时间来不及就没有进一步进行处理了。这也算一次教训吧,以后在编程过程中要多些考虑。

在windows系统中自带的画图软件中比较常用的工具有的喷枪和漆桶的功能,在这个程序中没有实现。漆桶的功能在这个程序中简化为设置背景颜色。这也是这个程序的一个比较大的不足。

在这次课程设计中我个人觉的还有一点比较欠缺的是我所选的题目没有用到与数据库连接的相关知识,而只是较为单一的只用了java语言来实现。可是,从另一个方面来看这个问题,又有些自我安慰的想把简单的问题最好就是不简单。完成程序后,也看了其他选了相同题目的同学的实现。发现了自己的程序中存在这样那样的问题,就有些后悔如果在课设过程中再多用心一些、紧迫一些,结果也许可以更尽人意些呢。在调试程序时,也许你自己陷入了盲点,请教一下别人也许就会茅舍顿开。有交流才有能学到新东西。

在这次课程设计的过程中,我又一点还蛮意外的体会。刚开始在选题、找代码、看代码时总觉得很难很难。这也不懂,那也不懂。但是,随着你对相关知识点的一点一点深入了解,当你慢慢理解了整个程序,你会发现其实它好像也没什么。并不是什么越不过的槛。是过知识的累积、扩充和巩固。而这整个过程中最重要的是你如何学习新的知识。比如API,在这次课程设计过程中,我深深的感受到了API的作用。还有就是我们图书馆的资源其实是很丰富的。

-16-

《Java程序设计》课程设计报告

通过这次课程设计,我收获了许多,也体会到了许多只有在实际编程过程中才能感受到经验、体会。每个小小的功能的实现其实都很不简单,要编程者对原理理解透彻,对实现的思路、步骤有清晰的概念,对相关知识有一定基础的掌握再加上耐心,才能顺利解决调试过程的问题实现功能。想来课程设计目的,也就在于此吧!

参 考 文 献

[1] 耿祥义,张跃平. Java大学实用教程 北京:电子工业出版社,2010.1

[2] 陈明. Java语言程序设计课程实践 北京:清华大学出版社2009.1

[3] 李钟蔚.Java开发实战宝典 北京:清华大学出版社,2010.1

[4] 吴仁群.Java基础教程 北京:清华大学出版社202.4

[5] 朱晓龙.Java语言程序设计 北京:北京邮电大学出版社,2011.4

附 录

使用说明书

要在Eclipse或MyEclipse中运行该程序时必须将图片文件夹Icons文件放在同一个工程中。不然工具栏上按钮无法显示其图标。

该软件主要用以实现一般需求的画图功能,如圆形、椭圆等基本几何图形的绘制。使用说明如下:

菜单栏中各选项作用:菜单栏中的一部分功能能实现比如新建可以新建画图类对象。打开选项可以打开.bmp后缀名的文件,保存选项可以用以保存当前绘制的图片;

在窗口界面的左边的工具栏中,有12个较常见的画图工具,可根据图标、或将鼠标移到按钮区域内会有各个按钮功能的文字提示。使用户了解各按钮的功用:

铅笔按钮:可以自由绘制线条好比画图时用的铅笔一般,初始的线条可能比较细,可以与设置画笔粗细按钮结合,先设置线条粗细,再画图;

直线按钮:可以绘制直线,也可与设置线条粗细功能结合;

-17-

《Java程序设计》课程设计报告

空心矩形按钮:可以绘制任一大小的空心矩形,也可与设置线条粗细功能结合绘制边框较粗的空心矩形;

填充矩形,可以绘制任一大小的实心矩形;

空心椭圆,圆,空心圆角矩形的作用与使用方法同空心矩形;

填充椭圆,填充圆,填充圆角矩形的作用与使用方法同填充矩形;

橡皮可以将绘制的图形进行清除,初始的橡皮比较细小,可与设置线条粗细功能结合增加其宽度,用以清除较大范围的图形。;

设置背景色可以改变画图板画图区的背景颜色;

画笔粗细可以通过输入画笔的值改变画笔粗细的属性;

添加文字可以在鼠标点击处,添加所输入的文本,文字的字型可通过文字字型工具栏来设定;

颜色选择工具栏:可进行较常见的、数目较少的颜色的选择,用以设定当前画比的颜色。

可通过光标状态栏上,数值的显示,便于了解光标在画图区域中的具体位置,便于文本输入时的光标定位。

-18-

网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com