版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程設(shè)計(jì)名稱 Java課程設(shè)計(jì) </p><p> 題目:使用多線程技術(shù)實(shí)現(xiàn)動(dòng)畫效果的Java程序設(shè)計(jì)</p><p> 1 課程設(shè)計(jì)教學(xué)條件要求 eclipse/ netbeans/ Jbuilder </p><p>
2、<b> 2 課程設(shè)計(jì)任務(wù)</b></p><p> 編寫一個(gè)Java Application程序或Java Applet小程序,在界面上自動(dòng)出現(xiàn)由小到大變換的圓,圓出現(xiàn)的位置與顏色隨機(jī),變到150直徑時(shí)擦除,重新再出現(xiàn)圓;變換速度由HTML文件傳入的參數(shù)(控制sleep時(shí)間)控制。</p><p> 3 課程設(shè)計(jì)報(bào)告書主要內(nèi)容</p>&
3、lt;p><b> 1 需求分析</b></p><p><b> 2 總體設(shè)計(jì)</b></p><p> 2.1 設(shè)計(jì)的總體思想與算法描述</p><p><b> 2.2 模塊結(jié)構(gòu)圖</b></p><p> 2.3 各功能模塊的功能與處理流程描述<
4、;/p><p><b> 2.4 界面設(shè)計(jì)</b></p><p> 3 各功能模塊程序設(shè)計(jì)</p><p> 按照功能模塊的功能與處理流程描述給出詳細(xì)的程序代碼,并給出重點(diǎn)語句的注釋.</p><p><b> 4 小結(jié)</b></p><p><b>
5、 4 課程設(shè)計(jì)要求</b></p><p> 1 按時(shí)到機(jī)房簽到,在指定機(jī)位上機(jī)。遵守機(jī)房紀(jì)律。</p><p> 2 獨(dú)立完成課程設(shè)計(jì)任務(wù)。指導(dǎo)教師到機(jī)位上指導(dǎo)學(xué)生和分時(shí)段驗(yàn)收學(xué)生完成的程序。</p><p> 3 按時(shí)提交打印的課程設(shè)計(jì)報(bào)告書。</p><p> 5 課程設(shè)計(jì)參考書</p><p
6、> [1] 許文憲 懂子建. Java程序設(shè)計(jì)教程與實(shí)訓(xùn). 北京:北京大學(xué)出版社,2005.</p><p> [2] 辛運(yùn)幃 .Java程序設(shè)計(jì).北京:清華大學(xué)出版社, 2004</p><p> [3] [美]Echel,B .Java編程思想(第三版).北京:機(jī)械工業(yè)出版社,2005</p><p> 使用多線程技術(shù)實(shí)現(xiàn)動(dòng)畫效果</p
7、><p><b> 目 錄</b></p><p> 題目:使用多線程技術(shù)實(shí)現(xiàn)動(dòng)畫效果…................ 2</p><p><b> 1 需求分析3</b></p><p> 1.1 功能需求描述3</p><p><b> 2 總
8、體設(shè)計(jì)4</b></p><p> 2.1系統(tǒng)功能模塊設(shè)計(jì)4</p><p><b> 2.2界面設(shè)計(jì)4</b></p><p> 2.2.1系統(tǒng)主控平臺(tái)界面設(shè)計(jì)5</p><p><b> 3.程序設(shè)計(jì)5</b></p><p> 3.1 系
9、統(tǒng)主控平臺(tái)界面的程序設(shè)計(jì)5</p><p> 3.2 用戶管理模塊程序設(shè)計(jì)6</p><p><b> 4.小結(jié)7</b></p><p><b> 參考文獻(xiàn)8</b></p><p><b> 1 需求分析</b></p><p>
10、 本系統(tǒng)描述的是要建立一個(gè)最基本的圖形,讓它可以按照動(dòng)畫效果變換,使之可以位置和顏色隨機(jī),到指定位置消失,用多線程技術(shù)實(shí)現(xiàn)最基本的動(dòng)畫效果,產(chǎn)生可以變換的圖像。</p><p> 1.1 功能需求描述</p><p> 實(shí)現(xiàn)動(dòng)畫效果的總體目標(biāo)是為了使一般的畫面更美觀,使畫面更令人喜歡,看上去不那么單調(diào)。</p><p> 具體需要實(shí)現(xiàn)以下一些基本功能。<
11、/p><p> 產(chǎn)生一個(gè)由小變大的圓。</p><p> 使圓的大小可以由小到大變換,并到指定位置消失。</p><p> 使圓的位置和顏色隨機(jī)出現(xiàn)。</p><p> 使圓變換的速度得到控制。</p><p><b> 2 總體設(shè)計(jì)</b></p><p> 依
12、據(jù)需求分析的結(jié)果,實(shí)現(xiàn)動(dòng)畫效果的系統(tǒng)要設(shè)計(jì)成一個(gè)由小變大的圓。此圓有顏色和出現(xiàn)位置隨機(jī),速度可以控制等特性。下面是系統(tǒng)的總體設(shè)計(jì):</p><p> 開發(fā)平臺(tái): eclipse/ netbeans/ Jbuilder </p><p> 2.1系統(tǒng)功能模塊設(shè)計(jì)</p><p> 依據(jù)需求分析結(jié)果,此系統(tǒng)可以由2個(gè)模塊聯(lián)合建成:形成圖形模塊、產(chǎn)生變換的模塊。&l
13、t;/p><p> 系統(tǒng)功能模塊圖2-1所示:</p><p> 圖2.1 系統(tǒng)功能模塊圖</p><p><b> 2.1.1 功能1</b></p><p><b> 2.2界面設(shè)計(jì)</b></p><p> /*界面設(shè)計(jì)應(yīng)遵循簡(jiǎn)潔美觀,方便實(shí)用的基本原則。*/&l
14、t;/p><p> 2.2.1系統(tǒng)主控平臺(tái)界面設(shè)計(jì)</p><p> 圖2.2 系統(tǒng)運(yùn)行后的主界面圖</p><p><b> 3.程序設(shè)計(jì)</b></p><p> /*按照功能模塊設(shè)計(jì)分小節(jié)給出實(shí)現(xiàn)各功能模塊的程序清單,對(duì)主要的核心程序代碼必須給出注釋。*/</p><p> 3.1 系
15、統(tǒng)主控平臺(tái)界面的程序設(shè)計(jì)</p><p> 啟動(dòng)應(yīng)用程序,為用戶提供主體操作界面,對(duì)系統(tǒng)功能統(tǒng)一管理。</p><p><b> 程序清單:</b></p><p> package com;</p><p> import java.applet.Applet;</p><p> im
16、port java.awt.Color;</p><p> import java.awt.Graphics;</p><p> @SuppressWarnings("serial")</p><p> public class guojian extends Applet {</p><p> private i
17、nt radius,spread;</p><p> public void init()</p><p><b> {</b></p><p> spread =50; //初始速度</p><p><b> }</b></p><p> public voi
18、d start()</p><p><b> {</b></p><p> radius = 0; //動(dòng)態(tài)圓半徑從0開始</p><p><b> }</b></p><p> public void paint(Graphics g)</p><p><
19、b> {</b></p><p> g.setColor(Color.red); //設(shè)置圓的線條顏色為紅色</p><p> g.drawOval(10, 20 , radius, radius); //畫圓</p><p> radius = ++radius%150; //讓圓的半徑在0-150范圍內(nèi)循環(huán)</p>
20、<p><b> try</b></p><p><b> {</b></p><p> Thread.sleep(spread);</p><p><b> }</b></p><p> catch(Exception ep)</p><
21、;p><b> {</b></p><p> ep.printStackTrace();</p><p><b> }</b></p><p> repaint();</p><p><b> }</b></p><p> public
22、 void setSpread(int spread) //創(chuàng)建調(diào)整速度的方法</p><p><b> {</b></p><p> this.spread = spread;</p><p> repaint();</p><p><b> };</b></p><
23、;p><b> }</b></p><p> 3.2 用戶管理模塊程序設(shè)計(jì)</p><p> 該模塊用于對(duì)畫面實(shí)現(xiàn)一定的控制,形成一定的特殊效果。具體代碼如下:</p><p><b> <html></b></p><p><b> <head>&
24、lt;/b></p><p> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></p><p> <title>Dynamic Circle</title></p><p> <s
25、cript language="javascript" type="text/javascript"> </p><p> //編寫javascript,實(shí)現(xiàn)與applet通信</p><p> function changeSpread()</p><p><b> {</b></
26、p><p> var appletObj = document.getElementById("DynamicCircle"); //獲得applet</p><p> var strSpread = document.getElementById("spread"); //獲得輸入速度</p><p> var intS
27、pread = parseInt(strSpread.value);</p><p> appletObj.setSpread(intSpread); </p><p> //調(diào)用applet中的setSpread(int spread)方法,將速度設(shè)置為你輸入的數(shù)</p><p><b> }</b></p><p
28、><b> </script></b></p><p><b> </head></b></p><p><b> <body></b></p><p><b> <form></b></p><p
29、> 請(qǐng)輸入速度:<input type="text" size="10" id="spread"></p><p> <input type="button" onclick="changeSpread()" value="OK" /><br />&
30、lt;/p><p><b> </form></b></p><p> <object type="application/x-java-applet" code="com.DynamicCircle.class" archive="Dynamic.jar" width="400&
31、quot; height="350" id="DynamicCircle"></p><p><b> </object></b></p><p><b> </body></b></p><p><b> </html>&l
32、t;/b></p><p><b> 4.小結(jié)</b></p><p> java的課程設(shè)計(jì),今天終于算是完工了,好久都沒編過這么大的project了,雖然里面不是很完備,但是總體還是把一個(gè)java的程序做完了,當(dāng)然只是相對(duì)于我這個(gè)初學(xué)者來說??粗约旱某晒?,真的很高興,很有成就感?! ∑鋵?shí)剛剛上課程設(shè)計(jì)的時(shí)候,我并沒有現(xiàn)在這樣的熱心。當(dāng)時(shí)沒怎么放在心上
33、,所以我浪費(fèi)了不少時(shí)間。一個(gè)星期了,我代碼還沒搞出來。后來看到題目這么難,可參考的書目那么少,于是真的不想自己動(dòng)手,心里只是一個(gè)念頭,到時(shí)候隨便找一個(gè)抄上交差就可以了,完全是這么消極的想法,絲毫不認(rèn)為自己是能夠完成的?! ]辦法,我只好跑到圖書管去逛逛,自然先是去找一下有沒有值得抄的好書,抄點(diǎn)代碼,實(shí)在不想自己寫??墒钦襾碚胰?,都沒有現(xiàn)成的代碼可供參考,于是怨恨編者太懶。沒辦法,拿我們學(xué)的課本看看理論吧,總要知道些什么吧。就這樣,從那
34、天晚上,到今天,每天的下午,晚上差不多都在編程。一次次的失敗,一次次的有錯(cuò)誤,一次次的調(diào)試,很麻煩,也很煩躁的工作,我也給堅(jiān)持做下去了。現(xiàn)在想想來,真的很為自己感到自豪??粗约旱某晒?,一切途中的困難都忘記了,心中只有高興。 做什么事情,都要對(duì)認(rèn)真,既然是該你做的事,肯定</p><p><b> 參考文獻(xiàn)</b></p><p> 1 許文憲 懂子建. Ja
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計(jì)--- 多線程管理與線程通信
- 用vc++簡(jiǎn)單的多線程聊天室課程設(shè)計(jì)
- linux多線程編程
- Linux多協(xié)議多線程下載技術(shù)的研究與實(shí)現(xiàn).pdf
- 基于Linux多線程溯源系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 多線程端口掃描軟件設(shè)計(jì)與實(shí)現(xiàn).pdf
- 時(shí)鐘共享多線程處理單元的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于IOCP和多線程技術(shù)的通訊中間件設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于多線程機(jī)制的數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)設(shè)計(jì).pdf
- 面向多線程分組分派的線程隊(duì)列狀態(tài)監(jiān)測(cè)技術(shù).pdf
- 2多線程應(yīng)用程序設(shè)計(jì)
- 面向?qū)ο笈c多線程綜合-gui設(shè)計(jì)
- java多線程編程詳解
- 基于uEFI BIOS的多線程研究與實(shí)現(xiàn).pdf
- vxWorks操作系統(tǒng)的多線程實(shí)現(xiàn)研究.pdf
- vc實(shí)現(xiàn)串口通訊程序中的多線程應(yīng)用
- 基于java的多線程下載工具的實(shí)現(xiàn)
- 基于多線程的嵌入式GUI的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 網(wǎng)絡(luò)游戲中多線程查詢優(yōu)化的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 多線程寄存器文件的設(shè)計(jì).pdf
評(píng)論
0/150
提交評(píng)論