

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計 報 告</p><p> 課程設(shè)計名稱 Java課程設(shè)計 </p><p> 題目:使用多線程技術(shù)實現(xiàn)動畫效果的Java程序設(shè)計</p><p> 1 課程設(shè)計教學(xué)條件要求 eclipse/ netbeans/ Jbuilder </p><p>
2、<b> 2 課程設(shè)計任務(wù)</b></p><p> 編寫一個Java Application程序或Java Applet小程序,在界面上自動出現(xiàn)由小到大變換的圓,圓出現(xiàn)的位置與顏色隨機,變到150直徑時擦除,重新再出現(xiàn)圓;變換速度由HTML文件傳入的參數(shù)(控制sleep時間)控制。</p><p> 3 課程設(shè)計報告書主要內(nèi)容</p>&
3、lt;p><b> 1 需求分析</b></p><p><b> 2 總體設(shè)計</b></p><p> 2.1 設(shè)計的總體思想與算法描述</p><p><b> 2.2 模塊結(jié)構(gòu)圖</b></p><p> 2.3 各功能模塊的功能與處理流程描述<
4、;/p><p><b> 2.4 界面設(shè)計</b></p><p> 3 各功能模塊程序設(shè)計</p><p> 按照功能模塊的功能與處理流程描述給出詳細的程序代碼,并給出重點語句的注釋.</p><p><b> 4 小結(jié)</b></p><p><b>
5、 4 課程設(shè)計要求</b></p><p> 1 按時到機房簽到,在指定機位上機。遵守機房紀律。</p><p> 2 獨立完成課程設(shè)計任務(wù)。指導(dǎo)教師到機位上指導(dǎo)學(xué)生和分時段驗收學(xué)生完成的程序。</p><p> 3 按時提交打印的課程設(shè)計報告書。</p><p> 5 課程設(shè)計參考書</p><p
6、> [1] 許文憲 懂子建. Java程序設(shè)計教程與實訓(xùn). 北京:北京大學(xué)出版社,2005.</p><p> [2] 辛運幃 .Java程序設(shè)計.北京:清華大學(xué)出版社, 2004</p><p> [3] [美]Echel,B .Java編程思想(第三版).北京:機械工業(yè)出版社,2005</p><p> 使用多線程技術(shù)實現(xiàn)動畫效果</p
7、><p><b> 目 錄</b></p><p> 題目:使用多線程技術(shù)實現(xiàn)動畫效果…................ 2</p><p><b> 1 需求分析3</b></p><p> 1.1 功能需求描述3</p><p><b> 2 總
8、體設(shè)計4</b></p><p> 2.1系統(tǒng)功能模塊設(shè)計4</p><p><b> 2.2界面設(shè)計4</b></p><p> 2.2.1系統(tǒng)主控平臺界面設(shè)計5</p><p><b> 3.程序設(shè)計5</b></p><p> 3.1 系
9、統(tǒng)主控平臺界面的程序設(shè)計5</p><p> 3.2 用戶管理模塊程序設(shè)計6</p><p><b> 4.小結(jié)7</b></p><p><b> 參考文獻8</b></p><p><b> 1 需求分析</b></p><p>
10、 本系統(tǒng)描述的是要建立一個最基本的圖形,讓它可以按照動畫效果變換,使之可以位置和顏色隨機,到指定位置消失,用多線程技術(shù)實現(xiàn)最基本的動畫效果,產(chǎn)生可以變換的圖像。</p><p> 1.1 功能需求描述</p><p> 實現(xiàn)動畫效果的總體目標(biāo)是為了使一般的畫面更美觀,使畫面更令人喜歡,看上去不那么單調(diào)。</p><p> 具體需要實現(xiàn)以下一些基本功能。<
11、/p><p> 產(chǎn)生一個由小變大的圓。</p><p> 使圓的大小可以由小到大變換,并到指定位置消失。</p><p> 使圓的位置和顏色隨機出現(xiàn)。</p><p> 使圓變換的速度得到控制。</p><p><b> 2 總體設(shè)計</b></p><p> 依
12、據(jù)需求分析的結(jié)果,實現(xiàn)動畫效果的系統(tǒng)要設(shè)計成一個由小變大的圓。此圓有顏色和出現(xiàn)位置隨機,速度可以控制等特性。下面是系統(tǒng)的總體設(shè)計:</p><p> 開發(fā)平臺: eclipse/ netbeans/ Jbuilder </p><p> 2.1系統(tǒng)功能模塊設(shè)計</p><p> 依據(jù)需求分析結(jié)果,此系統(tǒng)可以由2個模塊聯(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è)計</b></p><p> /*界面設(shè)計應(yīng)遵循簡潔美觀,方便實用的基本原則。*/&l
14、t;/p><p> 2.2.1系統(tǒng)主控平臺界面設(shè)計</p><p> 圖2.2 系統(tǒng)運行后的主界面圖</p><p><b> 3.程序設(shè)計</b></p><p> /*按照功能模塊設(shè)計分小節(jié)給出實現(xiàn)各功能模塊的程序清單,對主要的核心程序代碼必須給出注釋。*/</p><p> 3.1 系
15、統(tǒng)主控平臺界面的程序設(shè)計</p><p> 啟動應(yīng)用程序,為用戶提供主體操作界面,對系統(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; //動態(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è)計</p><p> 該模塊用于對畫面實現(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,實現(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、> 請輸入速度:<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è)計,今天終于算是完工了,好久都沒編過這么大的project了,雖然里面不是很完備,但是總體還是把一個java的程序做完了,當(dāng)然只是相對于我這個初學(xué)者來說??粗约旱某晒娴暮芨吲d,很有成就感?! ∑鋵崉倓偵险n程設(shè)計的時候,我并沒有現(xiàn)在這樣的熱心。當(dāng)時沒怎么放在心上
33、,所以我浪費了不少時間。一個星期了,我代碼還沒搞出來。后來看到題目這么難,可參考的書目那么少,于是真的不想自己動手,心里只是一個念頭,到時候隨便找一個抄上交差就可以了,完全是這么消極的想法,絲毫不認為自己是能夠完成的?! ]辦法,我只好跑到圖書管去逛逛,自然先是去找一下有沒有值得抄的好書,抄點代碼,實在不想自己寫。可是找來找去,都沒有現(xiàn)成的代碼可供參考,于是怨恨編者太懶。沒辦法,拿我們學(xué)的課本看看理論吧,總要知道些什么吧。就這樣,從那
34、天晚上,到今天,每天的下午,晚上差不多都在編程。一次次的失敗,一次次的有錯誤,一次次的調(diào)試,很麻煩,也很煩躁的工作,我也給堅持做下去了。現(xiàn)在想想來,真的很為自己感到自豪??粗约旱某晒磺型局械睦щy都忘記了,心中只有高興?!∽鍪裁词虑?,都要對認真,既然是該你做的事,肯定</p><p><b> 參考文獻</b></p><p> 1 許文憲 懂子建. Ja
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計--- 多線程管理與線程通信
- 用vc++簡單的多線程聊天室課程設(shè)計
- linux多線程編程
- Linux多協(xié)議多線程下載技術(shù)的研究與實現(xiàn).pdf
- 基于Linux多線程溯源系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 多線程端口掃描軟件設(shè)計與實現(xiàn).pdf
- 時鐘共享多線程處理單元的設(shè)計與實現(xiàn).pdf
- 基于IOCP和多線程技術(shù)的通訊中間件設(shè)計與實現(xiàn).pdf
- 基于多線程機制的數(shù)據(jù)采集系統(tǒng)的實現(xiàn)設(shè)計.pdf
- 面向多線程分組分派的線程隊列狀態(tài)監(jiān)測技術(shù).pdf
- 2多線程應(yīng)用程序設(shè)計
- 面向?qū)ο笈c多線程綜合-gui設(shè)計
- java多線程編程詳解
- 基于uEFI BIOS的多線程研究與實現(xiàn).pdf
- vxWorks操作系統(tǒng)的多線程實現(xiàn)研究.pdf
- vc實現(xiàn)串口通訊程序中的多線程應(yīng)用
- 基于java的多線程下載工具的實現(xiàn)
- 基于多線程的嵌入式GUI的設(shè)計與實現(xiàn).pdf
- 網(wǎng)絡(luò)游戲中多線程查詢優(yōu)化的設(shè)計與實現(xiàn).pdf
- 多線程寄存器文件的設(shè)計.pdf
評論
0/150
提交評論