java 画图 计算器以及显示时间Word格式.docx

上传人:b****6 文档编号:19154861 上传时间:2023-01-04 格式:DOCX 页数:66 大小:334.41KB
下载 相关 举报
java 画图 计算器以及显示时间Word格式.docx_第1页
第1页 / 共66页
java 画图 计算器以及显示时间Word格式.docx_第2页
第2页 / 共66页
java 画图 计算器以及显示时间Word格式.docx_第3页
第3页 / 共66页
java 画图 计算器以及显示时间Word格式.docx_第4页
第4页 / 共66页
java 画图 计算器以及显示时间Word格式.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

java 画图 计算器以及显示时间Word格式.docx

《java 画图 计算器以及显示时间Word格式.docx》由会员分享,可在线阅读,更多相关《java 画图 计算器以及显示时间Word格式.docx(66页珍藏版)》请在冰豆网上搜索。

java 画图 计算器以及显示时间Word格式.docx

3

任务难度评价

4

工作量饱满评价

5

6

设计中创新性评价

7

论文书写规范化评价

8

综合应用能力评价

综合评定等级

课程设计评阅意见

评阅人黄建华职称副教授

2014年1月6日

目录

第1章课程设计内容及要求4

第2章总体设计6

第3章功能实现7

第4章测试22

第5章课程设计心得31

第6章参考文献32

第7章附件(程序代码)33

第1章课程设计内容及要求

一、内容

内容应该包括:

新建画图,打开画图,保存画图,退出画图,画笔,橡皮擦。

另外还有两个小程序,一个为计算器,另一个为时钟。

二、要求

要求应该包括:

1、新建画图

1)新建画图应该弹出对话框来提示是否先把已经进行的操作保存起来。

2)对话框应该要能够关闭,以让用户重新检查下是否需要保存。

3)如果用户选择是,我们应该弹出保存的对话框以方便用户保存此文件。

4)新建后的画板应该要保持空白。

2、打开画图

1)打开画图应该弹出对话框以方便用户的寻找所需打开的文件。

2)应该具有取消按钮以让用户思考后再打开文件。

3)没有保存在当前文件夹的文件。

4)还应该有选择文件夹功能以打开所需文件。

3、保存画图

1)保存画图应该弹出对话框以方便用户更改所存文件的名字。

2)应该具有取消按钮以让用户思考后再保存文件。

3)还应有选择文件的功能使用户方便的将文件放在所想放的地方。

4、退出画图

1)退出画图应该弹出对话框以提示用户是否退出。

2)退出对话框在用户点退出时关闭程序。

3)退出对话框在用户点击否时恢复原状操作着的以前的操作应该继续留在那。

5、画笔

1)画笔应该具有画直线,椭圆,矩形的功能。

2)画笔应该要可以调整大小。

3)画笔应该要可以改变颜色。

4)画笔改变颜色应该要可以自定义颜色以使颜色更加丰富。

5)应该有库颜色以方便使用。

1、

2、

3、

4、

5、

6、橡皮擦

1)橡皮擦应该要可以调整大小。

2)应该要有全部清除按钮以重置画板

7、计算器

1)计算器要有清除功能。

2)有“+”,“—”,“*”,“/”,“=”,“清除”六个功能按钮。

3)有“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”十个数字键。

4)能够实现最基本的加减乘除功能。

5)计算器不仅要实现最简单的加减乘除,还要能够进行连加,连减,连乘以及连除,以及其他算法组合的功能。

8、时钟

1)时钟要可以显示当前的时间。

3)

4)

5)

第2章总体设计

此画图程序通过文件,工具,操作三个菜单栏以及面板上显示的画笔、画笔调色、调大小,橡皮擦、橡皮擦调大小,以及清除按钮来实现对图像的处理、计算器的计算以及时间的显示。

1)通过文件菜单用户可以新建一个画板,打开某个图像,保存当前处理的图像以及退出当前程序。

2)通过工具菜单用户可以调用画笔,规则的画直线、椭圆以及矩形。

3)通过操作菜单可以调出计算器以及调出当前时间。

4)通过面板上的按钮以及选择框调整画笔的大小,画笔颜色,橡皮擦大小以及清空当前界面。

具体流程图如下

第3章功能实现

一、文件菜单的实现

1)新建画图的实现

//新建画图

if(e.getSource()==newPic)

{

intn=JOptionPane.showConfirmDialog(null,"

是否先保存所做的更改?

新建后请先在操作中先选定画笔在操作"

"

新建画图框"

JOptionPane.YES_NO_OPTION);

if(n==JOptionPane.YES_OPTION){

savePicture.setVisible(true);

try{

Filefileout=newFile(savePicture.getDirectory(),savePicture.getFile());

picOut=newFileOutputStream(fileout);

VOut=newObjectOutputStream(picOut);

VOut.writeObject(paintInfo);

VOut.close();

}

catch(IOExceptionIOe)

{

System.out.println("

cannotwriteobject"

);

}

toolFlag=2;

paintInfo.removeAllElements();

repaint();

//清除

toolFlag=2;

}

elseif(n==JOptionPane.NO_OPTION)

{

}

}

2)打开画图的实现

//打开图画

if(e.getSource()==openPic)

{//打开

openPicture.setVisible(true);

if(openPicture.getFile()!

=null)

{//清除

//打开

inttempflag;

tempflag=toolFlag;

toolFlag=2;

try

paintInfo.removeAllElements();

Filefilein=newFile(openPicture.getDirectory(),openPicture.getFile());

picIn=newFileInputStream(filein);

VIn=newObjectInputStream(picIn);

paintInfo=(Vector)VIn.readObject();

VIn.close();

repaint();

toolFlag=tempflag;

}

catch(ClassNotFoundExceptionIOe2)

toolFlag=tempflag;

cannotreadobject"

}

cannotreadfile"

}

3)保存画图的实现

//保存图画

if(e.getSource()==savePic)

{

savePicture.setVisible(true);

try

Filefileout=newFile(savePicture.getDirectory(),savePicture.getFile());

picOut=newFileOutputStream(fileout);

VOut=newObjectOutputStream(picOut);

VOut.writeObject(paintInfo);

VOut.close();

catch(IOExceptionIOe)

4)退出功能的实现

//退出画图

if(e.getSource()==exitPic)

intn=JOptionPane.showConfirmDialog(null,"

确认退出吗?

"

确认退出框"

if(n==JOptionPane.YES_OPTION){

System.exit

(1);

}elseif(n==JOptionPane.NO_OPTION){

//......

}}

一、

二、工具菜单的实现

1)画笔功能的实现

//画笔

x=(int)e.getX();

y=(int)e.getY();

p1=newPoint(x,y,c,toolFlag,con);

paintInfo.addElement(p1);

repaint();

2)画直线功能的实现

//画直线

Line2Dline1=newLine2D.Double(p1.x,p1.y,p2.x,p2.y);

g2d.draw(line1);

3)画圆形功能的实现

//画圆

Ellipse2Dellipse=newEllipse2D.Double(p1.x,p1.y,Math.abs(p2.x-p1.x),Math.abs(p2.y-p1.y));

g2d.draw(ellipse);

4)画矩形功能的实现

//画矩形

Rectangle2Drect=newRectangle2D.Double(p1.x,p1.y,Math.abs(p2.x-p1.x),Math.abs(p2.y-p1.y));

g2d.draw(rect);

三、操作菜单的实现

1)计算器功能的实现

//计算器

if(e.getSource()==Calculator){

Framef=newFrame("

计算器"

Panelmp;

finalTextFieldtext=newTextField();

classbutton1aimplementsActionListener{

@Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

}}

classbutton1a1implementsActionListener{

doubledou1=0;

Strings=text.getText();

try{dou1=Double.valueOf(s).doubleValue();

catch(NumberFormatExceptionlexicalXSDInt){System.out.println("

请输入数字"

}

dou1=dou1*10+1;

s=Double.toString(dou1);

text.setText(s);

classbutton2aimplementsActionListener{

dou1=dou1*10+2;

classbutton3aimplementsActionListener{

dou1=dou1*10+3;

classbutton4aimplementsActionListener{

dou1=dou1*10+4;

classbutton5aimplementsActionListener{

dou1=dou1*10+5;

classbutton6aimplementsActionListener{

dou1=dou1*10+6;

classbutton7aimplementsActionListener{

dou1=dou1*10+7;

classbutton8aimplementsActionListener{

dou1=dou1*10+8;

classbutton9aimplementsActionListener{

dou1=dou1*10+9;

classbutton0aimplementsActionListener{

dou1=dou1*10+0;

classbuttonjiaaimplementsActionListener{

t=1;

try{t1=Double.valueOf(s).doubleValue();

doubledou1=0;

s=Double.toString(dou1);

classbuttonjianaimplementsActionListener{

publicvoidac

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1