1304031031-夏婷婷-java实验报告十

1304031031-夏婷婷-java实验报告十

ID:32601723

大小:103.20 KB

页数:5页

时间:2019-02-13

1304031031-夏婷婷-java实验报告十_第1页
1304031031-夏婷婷-java实验报告十_第2页
1304031031-夏婷婷-java实验报告十_第3页
1304031031-夏婷婷-java实验报告十_第4页
1304031031-夏婷婷-java实验报告十_第5页
资源描述:

《1304031031-夏婷婷-java实验报告十》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、合肥修院HEFEIUNIVERSITY计算机科学与技术系实验报告专业名称13级网络工程课程名称Java语言基础项目名称Java的多线程班级学号姓名同组人员实验日期201558一、实验目的与要求:1.掌握线程概念,了解应用线程的目的,它是解决什么样的程序问题?2.掌握正确使用线程类Thread和线程接口Runnable。3.熟悉线程的常用方法和生命期。二、实验内容实验程序是Thread_pro工程下的Frame1-2.java0实验程序主要验证两方面的功能:•验证前后台并行运行之功能:用一个子线程作为后台运行,使一个字符串在屏幕上连续向左移动;前台主线程

2、仍然监测键盘和鼠标,使你可以激活按钮和进行文本输入等功能;你在文本框屮输入新的字符串,按“改变”按钮后移动字符串内容是你新输入的字符串。这种效果对单线程是难以实现的。•验证常用方法对子线程的控制:StartStop、Pause、Play四个按钮分别验证了线程方法start()>stopO>suspend()>resume()的作用。•程序(program)是对数据描述与操作的代码的集合,是应用程序执行的脚本。进程(process)是程序的一次执行过程,是操作系统运行程序的基本单位。程序是静态的,进程是动态的。系统运行一个程序就是一个进程从创建、运行到消

3、亡的过程。•线程是比进程更小的运行单位,是程序中单个顺序的流控制。一个进程中可以包含多个线程。线程是一种特殊的多任务方式。当一个程序执行多线程时,可以运行两个或更多的由同一个程序启动的任务。这样,一个程序可以使得多个活动任务同时发生。•动画是指连续而平滑地显示多幅图像。计算机动画原理I•分简单,首先在屏幕上显示出第一帧画面,过一会儿把它擦掉,然后再显示下一帧画面,如此循环往复。由于人的眼晴存在着一个视觉差,所以感觉好像画面中的物体在不断运动。在计算机上,只要以10〜30幅/每秒钟的速度显示图像即可达到满意的动画质量。1、实现如下图动画功能:(1)程序功

4、能:创建一个显示小球不断跳动并显示不同状态的动画程序。要达到无闪烁现象,显示速度快,占用内存较小的要求。即要使用双缓冲技术创建图像的显示方式,清除闪烁现象。使用线程分别解决准备图像、显示图像的任务,解决显示速度慢,占用内存较大的问题。(2)准备10个图像文件(T1.JPG〜T10.JPG),它们分别显示小球不同时间的高度和状态,存放在“程序/image"廿录下。这是创建动画的基础工作,是动画显示的内容,应用程序只是解决图像“动”即显示的方式。5E:JAVA程序LX7_8.htal-MicrosoftInternetExplorer图7.8三、实验

5、分析与小结:实验源代码:importjava.awt.importjava.applet•*;publicclassLX78extendsAppletimplementsRunnable{Imageimg[]=ncwImagc[10];Imagebuffer;Graphicsgl;Threadtd;intindex=0;publicvoidinit(){buffer=createlmage(getWidth(),getHeight());〃创建图像缓冲区gl=buffer.getGraphics();//创建绘图区for(inti=0;i<10;i++

6、){img[i]=getImage(getCodeBase(),z,image/z,+(i+l)+".jpg〃);}}publicvoidstart(){if(td==null){td=newThread(this);//创建线程对象td.start();}}publicvoidstop(){if(td!=null)td=null;}pub1icvoidrun(){while(true){_gl.drawlmage(img[index],10,20,this);//画图像到缓冲区repaint();//画出图像try{td.sleep(50);}cat

7、ch(InterruptedExceptione){}gl.clcarRcct(10,20,200,200);//清除缓冲区中的图像index二++index%10;}}publicvoidpaint(Graphicsg){g.drawlmage(buffer,0,0,this);//画出缓冲区中图像}publicvoidupdate(Graphicsg){paint(g);}}①冋答【思考问题】中的①、②、⑤问题。①为什么classframe1_2继承两个接口,各起什么作用?程序实现Runnable接口中的run方法,这是一个和Applet同吋运彳亍

8、的线程。对线程的控制由Applet的start和stop方法完成,Applet运行时,就在st

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。