JAVA课程设计Word文档格式.docx
- 文档编号:21156592
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:36
- 大小:114.67KB
JAVA课程设计Word文档格式.docx
《JAVA课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计Word文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
实现各种画图界面,可以实现新建图形文件,打开图形文件,保存图形文件等功能,其主要功能是可以画图。
2、文档要求
(1)设计程序结构、画出模块图。
(2)按照指导教师给出的项目文档的模板进行书写。
(3)参考文献数量不得低于4个。
二、工作量
2周(10个工作日)时间
三、计划安排
第1个工作日-第2个工作日:
查找相关资料、书籍,阅读示例文档;
设计程序结构、模块图、完成类的设计。
第3个工作日-第7个工作日:
完成程序的编码,并且自己调试、测试。
穿插进行项目文档的撰写。
第8个工作日-第9个工作日:
撰写和整理项目文档。
第10个工作日:
由教师检查软件测试效果、项目文档,给出学生本课程成绩。
2012年12月10日
目录
题目:
1
1.需求分析1
2.概要设计1
3.详细设计1
4.编码5
5.调试分析6
6.测试结果及运行效果6
7.系统开发所用到的技术6
参考文献7
附录全部代码8
小小画图板的设计与实现
1.需求分析
用过微软Windows操作系统的人一定都对Windows自带的画图板非常的熟悉。
同图像处理软件界的“大哥大”Photoshop比起来,它虽然不及Photoshop的功能强大、内容丰富,但是作为Windows一直以来都内带的附件程序,它具有小巧玲珑、简单实用等其它绘图软件所不具备的优点。
同时它的风格也被许多其它绘图软件所效仿。
通过本绘图程序的编写,我们可以看到如何运用自己已经掌握的知识,自己动手来完成一个Java绘图程序,通过整个流程的熟悉以及对程序组织结构和框架的理解,也可以极大的促进我们对Java程序和面向对象程序设计的认识和掌握。
通过本次课程的学习,我们可以更加系统地学习和了解如何从整体上设计和实现一个程序,这对我们今后学习、开发和设计更大更复杂的程序有着很大的帮助。
2.概要设计
本程序完成的是一个类似于Windows画图板的绘图程序。
由于不是开发和设计专业的绘图和图像制作软件,所以,完成的程序的简单功能包括以下几项:
(1)新建一个空白图形文件:
用于绘制新的图形。
(2)打开或保存一个图形文件,便于对图形文件的管理。
(3)绘制一些基本的画图组件:
直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等。
(4)可以用鼠标在绘图面板上单击拖动进行随笔画。
(5)橡皮擦:
可以将已绘制好的图形擦掉。
(6)添加文字:
可以在绘图区域内添加文字。
(7)选择文字的字体:
通过一个下拉式的选择条,可以选中所需要的字体。
本程序中包括:
宋体、隶书、华文彩云、仿宋、华文行楷、方正舒体、TimesNewRoman、Serif、Monospaced、SonsSerif、Garamond。
当然,在下面的的程序分析中可以看到,由于我们灵活设置了字体数组,是的可以随意添加系统支持的任何字体。
大大方便和简化了程序设计。
(8)选择文字的字体风格:
通过两个复选框按钮,可以选择需要的字体风格,包括:
粗体、斜体,使用者有三种选择方式,包括:
①同时选中两者、②只选择其中一种、③两者都不选中。
(9)设置画笔的颜色:
可以选择当前绘制图形的画笔颜色,让图形更加丰富多彩、生动活泼。
(10)设置画笔的粗细:
该选项在作用于基本图形组件和文字时,它的效果是不一样的。
①当作用于绘制图形组件时,它的作用是改变画笔绘制线条的粗细;
②当作用于文字时,它的作用是改变文字的大小。
3.详细设计
3.1程序基本组成框架和结构
一组基本图形按钮,包括:
Pencil(随笔画)、Line(直线)、Rect(矩形)、FRect(实心矩形)、Oval(椭圆)、FOval(实心椭圆)、Circle(圆)、FCircle(实心圆)、RoundRect(圆角矩形)、FrRect(实心圆角矩形)、Rubber(橡皮擦)、Word(文字)。
这些基本图形都继承于同一个父类:
drawings。
drawings具有变量(属性):
intx1,x2,y1,y2;
//用来存放相应图形元素的坐标
intR,G,B;
//用来存放图形色彩颜色信息
floatstroke;
//用来存放画笔粗细
inttype;
//用来保存图形类型
Strings1;
//用来保存输入文字字符串
Strings2;
//用来保存字体类型字符串
同时,drawing还具有方法:
voiddraw(Graphics2Dg2d){};
draw()方法中用到了Java绘图里面的Graphics2D类,所有继承drawings类的图形子类都重写了此方法。
这就是Java程序中类的继承的概念。
它对于程序代码的重用是很重要的,将极大的方便和简略程序代码。
(1)程序中包括以下三个基本操作按钮:
1新建(New):
新建一个图形文件。
2打开(Open):
打开一个图形文件。
3保存(Save):
保存当前图形文件。
(2)选择颜色和设置当前画笔粗细的按钮分别为:
颜色(Color)、线条粗细(Stroke)。
(3)选择当前字体风格的选择框为:
粗体(BOLD)、斜体(ITALIC),用以设置当前字体的风格。
(4)选择当前字体的下拉式复选框为:
Styles。
(5)菜单条及其组成:
(6)文件(File)菜单项,包括:
New(新建一个图形文件)、Load(打开一个图形文件)、Save(保存当前图形文件)、Exit(退出程序)。
1颜色(Color)菜单项:
用来设置当前颜色。
2线条粗细(Stroke)菜单项:
用来设置当前画笔粗细。
3帮助(Help)菜单项:
有关的程序帮助提示。
3.2画图板相关操作
(1)新建一个图形文件
单击工具栏上的图标
,或选择File→New菜单,则清除当前所绘制的图像,回到初始画面。
图1
保存
,或选择File→Save菜单,则弹出要求保存文件对话框。
如下图:
图2
(2)绘制基本图形
基本图形包括以下几种:
Pencil:
随笔画,图标为:
。
Line:
直线,图标为:
Rect:
矩形,图标为:
FRect:
实心矩形,图标为:
Oval:
椭圆,图标为:
FOval:
实心椭圆,图标为:
Circle:
圆,图标为:
FCircle:
实心圆,图标为:
RoundRect:
圆角矩形,图标为:
FrRect:
实心圆角矩形,图标为:
Rubber:
橡皮擦,图标为:
绘图时,单击工具栏上相应图形的图标,然后用鼠标拖动,在绘图区域内进行绘图即可。
设置画笔大小
,或单击Stroke→SetStroke菜单,则弹出相应的设置当前画笔粗细对话框。
图3
选择颜色
单击工具栏区域
,或单击Color→ChooseColor菜单,则弹出相应的选择当前画图颜色对话框。
图4
选择字体风格
在工具栏区域
,可以选择相应的字体风格,有粗体、斜体和粗斜体三种可供选择。
选择字体
,可以选择字体,本程序中有如下几种字体可供选择:
宋体、隶书、华文彩云、仿宋、华文行楷、方正舒体、TimeNewRoman、Serif、Monospaced、SonsSerif、Garamond。
3.3程序结构说明
本程序主体为一个文件:
QingDrawPad.java。
其中包括的程序段有:
1QingDrawPad():
构造函数,用以初始化。
2chooseColor():
选择当前绘图颜色程序段。
3setStroke():
设置当前画笔粗细程序段。
4loadFile():
调用图形文件程序段。
5newFile():
新建一个图形文件程序段。
6saveFile():
保存当前所绘制图形程序段。
7creatNewItem():
新建一个基本图形单元程序段。
4.编码
publicclassQingDrawPadextendsJFrame//主类,扩展了JFrame类,用来生成主界面
{
privateObjectInputStreaminput;
privateObjectOutputStreamoutput;
//定义输入输出流,用来调用和保存图像文件
privateJButtonchoices[];
//按钮数组,存放以下名称的功能按钮
privateStringnames[]
={
"
New"
Open"
Save"
//这三个是基本操作按钮,包括"
新建"
、"
打开"
保存"
5.调试分析
画板主要由以下几个部分组成:
(1)主窗体的设计。
主类(QingDrawPad)用来生成主界面,完成画图板的主要框架。
主类由JFrame派生出来。
主界面由菜单栏、工具栏和画图区域三部分组成,布局格式采用BorderLayout布局形式。
(2)菜单栏和工具栏的设计。
菜单栏包括文件菜单栏、颜色菜单栏、线条粗细菜单栏和提示菜单栏。
①文件菜单栏包括文件的新建、打开、保存等选项
②颜色菜单栏可以进行颜色选择
③线条粗细菜单栏设置线条的粗细
④提示菜单栏给出提示信息。
工具栏由新建、打开和保存文件按钮、基本图形的按钮、选择字体风格复选框和字体下拉列表框组成。
在主类中添加并对菜单栏和工具栏添加事件监听。
(3)事件响应的处理。
对菜单栏、工具栏和用鼠标画图的事件响应进行处理。
6.测试结果及运行效果
我们可以看到,整个程序界面很简洁,而且界面操作、提示内容全部是中文,一目了然。
在左上方的菜单栏里有文件、颜色、线条粗细、帮助4个下拉式菜单,可以对绘图文件进行相应的操作。
下面一排是工具栏的工具按钮,从左到右依次为:
新建文件、打开文件、保存文件、随笔画、直线、空心矩形、实心矩形、空心椭圆、空心圆、实心圆、空心圆角矩形、实心圆角矩形、橡皮擦、颜色选择按钮、线条粗细设置按钮、文字添加按钮、粗体字体选择框、斜体字体选择框、字体选择下拉式选择框。
整个工具栏是可以拖动的,可以将它拖动到程序窗口的任意位置。
工具栏下面的整个白色区域就是绘图区域,即绘图面板,它的大小可以随着窗口的大小自动调整。
在窗口的最底部是程序设计作者标注,以及鼠标状态提示条,可以显示当前的鼠标状态,包括进出窗口、移动、单击、松开等。
7.系统开发所用到的技术
在设计画图板的时候,我们运用了许多上课知道的知识,比如:
类(子类与父类),继承。
参考文献
[1]陈明.Java语言程序设计课程实践.北京:
清华大学出版社,2008.
[2]杨树林、胡洁萍.Java语言最新实用案例教程.北京:
清华大学出版社,2006.
[3]谭浩强.Java程序设计(第二版).北京:
清华大学出版社,2006
[4]谭浩强.Java程序设计(第二版)题解与上机指导(修订版),2010.
附录全部代码
packageWuDrawPad;
importjava.awt.*;
importjava.awt.geom.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
importjava.util.*;
/*下面是我们的画图板上面有的基本的几个绘图单元按钮*/
Pencil"
Line"
Rect"
FRect"
Oval"
FOval"
Circle"
FCircle"
RoundRect"
FrRect"
Rubber"
Color"
Stroke"
Word"
};
privateStringstyleNames[]={
宋体"
"
隶书"
华文彩云"
仿宋"
华文行楷"
方正舒体"
TimesNewRoman"
Serif"
Monospaced"
SonsSerif"
Garamond"
privateIconitems[];
privateStringtipText[]={
//这里是鼠标移动到相应按钮上面上停留时给出的提示说明条
新建一个文件"
打开一个文件"
保存当前文件"
绘制线条"
绘制直线"
绘制空心矩形"
绘制实心矩形"
绘制空心椭圆"
绘制实心椭圆"
绘制空心圆形"
绘制实心圆形"
绘制空心圆角矩形"
绘制实心圆角矩形"
橡皮擦"
选择颜色"
设置线条粗细"
输入文字"
JToolBarbuttonPanel;
//定义按钮面板
privateJLabelstatusBar;
//显示鼠标状态的提示条
privateDrawPaneldrawingArea;
//画图区域
privateintwidth=850,height=550;
drawings[]itemList=newdrawings[5000];
//用来存放基本图形的数组
privateintcurrentChoice=3;
//设置默认画图状态为随笔画
intindex=0;
//当前已经绘制的图形数目
privateColorcolor=Color.black;
//当前画笔颜色
intR,G,B;
//用来存放当前色彩值
intf1,f2;
//用来存放当前字体风格
Stringstyle1;
//用来存放当前字体
privatefloatstroke=1.0f;
//设置画笔粗细,默认值为1.0f
JCheckBoxbold,italic;
//bold为粗体,italic为斜体,二者可以同时使用
JComboBoxstyles;
publicQingDrawPad()
super("
卿乐绘图画板(中国风)"
);
JMenuBarbar=newJMenuBar();
//定义菜单条
JMenufileMenu=newJMenu("
文件"
//fileMenu.setMnemonic('
F'
//新建文件菜单条
JMenuItemnewItem=newJMenuItem("
newItem.addActionListener(
newActionListener(){
publicvoidactionPerformed(ActionEvente)
newFile();
//如果被触发,则调用新建文件函数段
}
);
fileMenu.add(newItem);
//保存文件菜单项
JMenuItemsaveItem=newJMenuItem("
saveItem.addActionListener(
saveFile();
//如果被触发,则调用保存文件函数段
fileMenu.add(saveItem);
//打开文件菜单项
JMenuItemloadItem=newJMenuItem("
loadItem.addActionListener(
loadFile();
//如果被触发,则调用打开文件函数段
fileMenu.add(loadItem);
fileMenu.addSeparator();
//退出菜单项
JMenuItemexitItem=newJMenuItem("
退出"
exitItem.addActionListener(
System.exit(0);
//如果被触发,则退出画图板程序
fileMenu.add(exitItem);
bar.add(fileMenu);
//设置颜色菜单条
JMenucolorMenu=newJMenu("
颜色"
//选择颜色菜单项
JMenuItemcolorItem=newJMenuItem("
colorItem.addActionListener(
chooseColor();
//如果被触发,则调用选择颜色函数段
colorMenu.add(colorItem);
bar.add(colorMenu);
//设置线条粗细菜单条
JMenustrokeMenu=newJMenu("
线条粗细"
//设置线条粗细菜单项
JMenuItemstrokeItem=newJMenuItem("
strokeItem.addActionListener(
setStroke();
strokeMenu.add(strokeItem);
bar.add(strokeMenu);
//设置提示菜单条
JMenuhelpMenu=newJMenu("
帮助"
//设置提示菜单项
JMenuItemaboutItem=newJMenuItem("
关于画板"
aboutItem.addActionListener(
JOptionPane.showMessageDialog(null,
卿乐画板\n作者:
刘佳、任家苇、吴迪指导教师:
李孝贵\n于2012年12月22日,大连科技学院"
画图板说明"
JOptionPane.INFORMATION_MESSAGE);
helpMenu.add(aboutItem);
bar.add(helpMenu);
items=newImageIcon[names.length];
//创建各种基本图形的按钮
drawingArea=newDrawPanel();
choices=newJButton[names.length];
buttonPanel=newJToolBar(JToolBar.VERTICAL);
buttonPanel=newJToolBar(JToolBar.HORIZONTAL);
ButtonHandlerhandler=newButtonHandler();
ButtonHandler1handler1=newButtonHandler1();
//导入我们需要的图形图标,这些图标都存放在与源文件相同的目录下面
for(inti=0;
i<
choices.length;
i++)
items[i]=newImageIcon(names[i]+"
.gif"
choices[i]=newJButton("
"
items[i]);
choices[i].setToolTipText(tipText[i]);
buttonPanel.add(choices[i]);
//将动作侦听器加入按钮里面
for(inti=3;
choices.length-3;
choices[i].addActionListener(handler);
choices[0].addActionListener(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计