课程设计使用多线程技术实现动画效果文档格式.docx
《课程设计使用多线程技术实现动画效果文档格式.docx》由会员分享,可在线阅读,更多相关《课程设计使用多线程技术实现动画效果文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
2课程设计任务
编写一个JavaApplication程序或JavaApplet小程序,在界面上自动出现由小到大变换的圆,圆出现的位置与颜色随机,变到150直径时擦除,重新再出现圆;
变换速度由HTML文件传入的参数(控制sleep时间)控制。
3课程设计报告书主要内容
1需求分析
2总体设计
2.1设计的总体思想与算法描述
2.2模块结构图
2.3各功能模块的功能与处理流程描述
2.4界面设计
3各功能模块程序设计
按照功能模块的功能与处理流程描述给出详细的程序代码,并给出重点语句的注释.
4小结
4课程设计要求
1按时到机房签到,在指定机位上机。
遵守机房纪律。
2独立完成课程设计任务。
指导教师到机位上指导学生和分时段验收学生完成的程序。
3按时提交打印的课程设计报告书。
5课程设计参考书
[1]许文宪懂子建.Java程序设计教程与实训.北京:
北京大学出版社,2005.
[2]辛运帏.Java程序设计.北京:
清华大学出版社,2004
[3][美]Echel,B.Java编程思想(第三版).北京:
机械工业出版社,2005
使用多线程技术实现动画效果
目录
使用多线程技术实现动画效果…................2
1需求分析3
1.1功能需求描述3
2总体设计4
2.1系统功能模块设计4
2.2界面设计4
2.2.1系统主控平台界面设计5
3.程序设计5
3.1系统主控平台界面的程序设计5
3.2用户管理模块程序设计6
4.小结7
参考文献8
本系统描述的是要建立一个最基本的图形,让它可以按照动画效果变换,使之可以位置和颜色随机,到指定位置消失,用多线程技术实现最基本的动画效果,产生可以变换的图像。
1.1功能需求描述
实现动画效果的总体目标是为了使一般的画面更美观,使画面更令人喜欢,看上去不那么单调。
具体需要实现以下一些基本功能。
1.产生一个由小变大的圆。
2.使圆的大小可以由小到大变换,并到指定位置消失。
3.使圆的位置和颜色随机出现。
4.使圆变换的速度得到控制。
2总体设计
依据需求分析的结果,实现动画效果的系统要设计成一个由小变大的圆。
此圆有颜色和出现位置随机,速度可以控制等特性。
下面是系统的总体设计:
开发平台:
eclipse/netbeans/Jbuilder
2.1系统功能模块设计
依据需求分析结果,此系统可以由2个模块联合建成:
形成图形模块、产生变换的模块。
系统功能模块图2-1所示:
图2.1系统功能模块图
2.1.1功能1
2.2界面设计
/*界面设计应遵循简洁美观,方便实用的基本原则。
*/
2.2.1系统主控平台界面设计
图2.2系统运行后的主界面图
3.程序设计
/*按照功能模块设计分小节给出实现各功能模块的程序清单,对主要的核心程序代码必须给出注释。
3.1系统主控平台界面的程序设计
启动应用程序,为用户提供主体操作界面,对系统功能统一管理。
程序清单:
packagecom;
importjava.applet.Applet;
importjava.awt.Color;
importjava.awt.Graphics;
@SuppressWarnings("
serial"
)
publicclassguojianextendsApplet{
privateintradius,spread;
publicvoidinit()
{
spread=50;
//初始速度
}
publicvoidstart()
radius=0;
//动态圆半径从0开始
publicvoidpaint(Graphicsg)
g.setColor(Color.red);
//设置圆的线条颜色为红色
g.drawOval(10,20,radius,radius);
//画圆
radius=++radius%150;
//让圆的半径在0-150范围内循环
try
Thread.sleep(spread);
catch(Exceptionep)
ep.printStackTrace();
repaint();
publicvoidsetSpread(intspread)//创建调整速度的方法
this.spread=spread;
};
3.2用户管理模块程序设计
该模块用于对画面实现一定的控制,形成一定的特殊效果。
具体代码如下:
<
html>
head>
metahttp-equiv="
Content-Type"
content="
text/html;
charset=gb2312"
/>
title>
DynamicCircle<
/title>
scriptlanguage="
javascript"
type="
text/javascript"
>
//编写javascript,实现与applet通信
functionchangeSpread()
varappletObj=document.getElementById("
DynamicCircle"
);
//获得applet
varstrSpread=document.getElementById("
spread"
//获得输入速度
varintSpread=parseInt(strSpread.value);
appletObj.setSpread(intSpread);
//调用applet中的setSpread(intspread)方法,将速度设置为你输入的数
/script>
/head>
body>
form>
请输入速度:
inputtype="
text"
size="
10"
id="
button"
onclick="
changeSpread()"
value="
OK"
br/>
/form>
objecttype="
application/x-java-applet"
code="
com.DynamicCircle.class"
archive="
Dynamic.jar"
width="
400"
height="
350"
/object>
/body>
/html>
4.小结
java的课程设计,今天终于算是完工了,好久都没编过这么大的project了,虽然里面不是很完备,但是总体还是把一个java的程序做完了,当然只是相对于我这个初学者来说。
看着自己的成果,真的很高兴,很有成就感。
其实刚刚上课程设计的时候,我并没有现在这样的热心。
当时没怎么放在心上,所以我浪费了不少时间。
一个星期了,我代码还没搞出来。
后来看到题目这么难,可参考的书目那么少,于是真的不想自己动手,心里只是一个念头,到时候随便找一个抄上交差就可以了,完全是这么消极的想法,丝毫不认为自己是能够完成的。
没办法,我只好跑到图书管去逛逛,自然先是去找一下有没有值得抄的好书,抄点代码,实在不想自己写。
可是找来找去,都没有现成的代码可供参考,于是怨恨编者太懒。
没办法,拿我们学的课本看看理论吧,总要知道些什么吧。
就这样,从那天晚上,到今天,每天的下午,晚上差不多都在编程。
一次次的失败,一次次的有错误,一次次的调试,很麻烦,也很烦躁的工作,我也给坚持做下去了。
现在想想来,真的很为自己感到自豪。
看着自己的成果,一切途中的困难都忘记了,心中只有高兴。
做什么事情,都要对认真,既然是该你做的事,肯定是你应该有这个能力,即使能力不够,也是应该借这个机会来培养。
所以放心大胆地做,对自己有信心,就有动力。
有人说,世上的事就怕认真二字。
确实,做什么,只是认真地去做,踏踏实实,戒躁戒躁,静静地思考,慢慢地进步,真的是天下无难事。
这就是我这次课程设计中得到的最大的体会,受益匪浅。
参考文献
1许文宪懂子建.Java程序设计教程与实训北京:
2辛运帏.Java程序设计.北京:
3蔡翠平.Java程序设计.北京:
清华大学出版社,2003
课程设计评分表
评分标准:
1.学生是否严格遵守课程设计纪律,按照规定时间完成设计任务(占30%)
2.程序设计的质量与规范:
(占40%)
(1)是否采用了良好的设计方法,独立完成程序设计
(2)程序界面设计是否合理、美观
(3)数据库设计是否合理,具有良好的扩展性
(4)程序是否运行正常,未见运行错误
3.课程设计报告书的质量与规范(占30%)
教师评分:
1.学生出勤得分:
_________
2.程序设计得分:
3.设计报告得分:
总分:
教师评语:
根据该生在课程设计期间,是否严格遵守课程设计纪律,按照规定时间完成设计任务,完成的程序设计的质量与规范,提交的课程设计报告书的质量与规范等多方面的评分,该生本次课程设计的评分为:
________
教师签名:
日期:
年月日