




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、(本模板為Word格式,可根據(jù)您的需要調(diào)整內(nèi)容及格式,歡迎下載。) java項目實訓(xùn)總結(jié)報告java項目實訓(xùn)總結(jié)報告一、實訓(xùn)目的1.熟練掌握J(rèn)ava面向?qū)ο蟪绦蛟O(shè)計的基礎(chǔ)知識。2.熟練掌握J(rèn)ava中常用的Swing組件的使用方法。3.熟練掌握J(rèn)ava程序中圖形用戶界面設(shè)計的方法。4.熟練掌握使用JDBC操作數(shù)據(jù)庫的方法。5.通過實訓(xùn),培養(yǎng)學(xué)生分析和解決實際問題的能力,提高調(diào)試和分析應(yīng)用程序的能力,并為后續(xù)Java高級編程等專業(yè)課程的學(xué)習(xí)奠定良好的基礎(chǔ)。二、課程設(shè)計報告內(nèi)容2.1 實訓(xùn)內(nèi)容本課程設(shè)計的題目是設(shè)計一個簡化的圖書管理系統(tǒng)。該系統(tǒng)從圖書館管理人員的角度出發(fā),實現(xiàn)對圖書信息、讀者信息的瀏
2、覽、添加、刪除和查詢,同時還可以對讀者借書、還書過程進行操作和控制。設(shè)計內(nèi)容主要包括系統(tǒng)分析、數(shù)據(jù)庫、數(shù)據(jù)表的創(chuàng)建、系統(tǒng)各個窗體的布局及其編碼實現(xiàn)。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。該管理系統(tǒng)需要完成的基本功能主要有:用戶管理:主要包括用戶的添加、修改和刪除。讀者管理:主要包括讀者信息的瀏覽、添加、刪除和查詢。圖書管理:主要包括圖書信息的瀏覽、添加、刪除和查詢。借還書管理:主要包括借書、還書和續(xù)借。2.2 實訓(xùn)設(shè)備或軟、硬件硬件:P及以上性能的PC機;軟件:Windows 2000或Windows XP系統(tǒng);JDK工具;JCreator4.0環(huán)境2.3 功能設(shè)計及思想首先設(shè)計測
3、試登錄窗口:Text.java接下來設(shè)計LoginFrame.java(登錄窗口)、MainFrame(主窗體)Addbookframe.java(圖書入庫窗口)、AddReaders.java(添加讀者窗口)、AddUserframe.java(添加用戶窗口)、Borrowframe.java(借書窗口)、Retumframe.java(還書窗口)、Queryframe.java(圖書查詢窗口)。導(dǎo)入部分及實現(xiàn)的接口三、結(jié)論Java實訓(xùn)在不知不覺中就結(jié)束了,我感覺自己還有好多東西要學(xué),還有好多的東西不懂呢!這是我大學(xué)以來第3次實訓(xùn),每次實訓(xùn)我都感覺學(xué)到了好多東西!因為是一天到晚的不間斷訓(xùn)練,
4、所以記的會非常牢固。不像平時上課,每上兩次的理論課卻只有45分鐘的實際操作。在課上,有老師在前面演示我們都還能跟著做,可輪到我們獨立完成的時候,因為實際操作的少,早就忘光了!我很感謝學(xué)校有實訓(xùn)這樣的安排,把我們這一學(xué)期學(xué)的東西系統(tǒng)的集中的進行訓(xùn)練,對我們計算機水平的提高發(fā)揮著重要作用!還要感謝我們的侯老師,侯老師學(xué)識淵博,也很有耐心,即使老師講了很多遍的問題,我們不會,老師還是會走進我們給我們耐心的指導(dǎo),還給我們講一些學(xué)習(xí)java的方法,讓我們知道自己在哪方面不足,需要加強,也讓我們了解到哪些需要認(rèn)真的學(xué)習(xí),那些是重點,不是沒有方向的亂學(xué)一通,什么也學(xué)不好!經(jīng)過這次的實訓(xùn),我真真確確的感受到了
5、這些開發(fā)工具能讓我們提高工作的效率,更直觀更便捷的切入主題。這次我們學(xué)習(xí)的是制作圖書信息管理系統(tǒng),由老師給我們指導(dǎo)。當(dāng)然,在學(xué)習(xí)的過程中并不是一帆風(fēng)順的,在這之中,因為要操作的東西很多,有時錯一步,后面的結(jié)果就無法顯示,而自己的耐心與細(xì)心又太差,根本檢查不出來是哪里出了錯!這時候,侯老師都會耐心的過來幫助我,我很感謝侯老師也很感謝學(xué)校能安排這么優(yōu)秀的侯老師來教我們!只是,我們太頑皮,有很多東西老師講了我們也沒能記住,我想在此說一句:老師,您辛苦了,下學(xué)期我們一定認(rèn)認(rèn)真真的好好學(xué)!實訓(xùn)課是在學(xué)習(xí)與探索中度過的,短暫的15天實訓(xùn)是結(jié)束了,但其中讓我們學(xué)到了許多知識,出現(xiàn)許多未知的為什么,如圖書管理
6、數(shù)據(jù)庫的初步設(shè)置、JDBC和SQL Server服務(wù)器的連接、數(shù)據(jù)備份與還原的步驟,報表的設(shè)計與實現(xiàn)、如何設(shè)置數(shù)據(jù)源、通過ADO訪問數(shù)據(jù)庫的方法、監(jiān)測器、各種Java Swing組件的使用,綁定控件的屬性設(shè)置、如何實現(xiàn)Click事件、實現(xiàn)它的獲得方法、設(shè)置注冊焦點監(jiān)測器、獲取當(dāng)前日期、以及利用函數(shù)之間的相互轉(zhuǎn)換等等一系列的問題,正是在老師和同學(xué)的共同努力之下,我才一步步把問題解決了,最終完成了不可能完成的任務(wù)。為期15天的實訓(xùn)課就這樣結(jié)束了,我發(fā)現(xiàn)我對java有了新的認(rèn)識,以前只知道玩游戲、娛樂和簡單的應(yīng)用。通過這次的實訓(xùn),我了解到,要真真正正的掌握這些開發(fā)工具還不是一件簡單容易的事兒,但真正
7、掌握后,它帶個我們的將是無窮的便捷與科技,我喜歡高端便捷的生活。我希望我能做計算機這個萬能機器人的主人而不是奴隸,我會努力加油的!通過實訓(xùn),我不僅鞏固了舊知識,也學(xué)到了新的知識,并且把所學(xué)的應(yīng)用到實際操作中,提高了我們的實際動手能力和邏輯思維能力。也讓我們對軟件開發(fā)的流程有一定了解,并且對開發(fā)軟件有了一些初步的經(jīng)驗。真正做到了學(xué)習(xí)與實際應(yīng)用相結(jié)合,真的很感謝老師為我們爭取的這次實訓(xùn)機會,在這次實訓(xùn)期間我獲益匪淺。最后,謝謝老師在實習(xí)過程給予的.幫助!老師辛苦了!感謝學(xué)校,感謝老師給我的幫助,讓我的思想、技能又上了一個臺階!四、結(jié)束語Java圖書管理系統(tǒng)項目心得:其實在學(xué)習(xí)圖書管理系統(tǒng)實訓(xùn)時,我
8、們就已經(jīng)開展了SQL的學(xué)習(xí),雖然它們之間存在不同,但是屬于同一種語言計算機語言,但是實際上呢!它們的思想是不同的,JAVA只是一種面向?qū)ο笳Z言,而該項目實戰(zhàn)是教我們?nèi)绾沃谱饕粋€實用型的軟件,從實際出發(fā),一步一步的按照老師的規(guī)定進行,按正規(guī)模式的方式制作軟件,從初期的項目分析,書寫可行性報告,到項目分工,最后開始書寫代碼,一天一天的寫編程日記,把每一天遇到或完成的事情記錄下來,一步步設(shè)計完成自已的工作,想象自己是一個程序設(shè)計師,我主要完成界面及其代碼的設(shè)計,而其中有很多東西是我們所不知道,正向所有編程人員一樣,我們是邊學(xué)邊作,而且書寫代碼的速度要很快,因為一個項目不應(yīng)該在書寫代碼的方面浪費時間,
9、在這期間很訓(xùn)練人,因為每天寫代碼時,都寫的一身熱汗,著急呀!可是當(dāng)完成每天的任務(wù),而多完成時有很大的成就感了,這當(dāng)然是一個心里成就了,因為我暫時還沒有寫完這個程序了。說真的,我寫完這個圖書信息管理系統(tǒng)時,真的感覺很累了,不過又很輕松了,因為終于完成了,不過在看了其他同學(xué)設(shè)計的程序時,心里也感到眾多不足,因為我們設(shè)計的程序,在判斷某些輸入資料時,總是不嚴(yán)謹(jǐn),可能給日后用戶帶來很多不方便,而且在日后的維護工作會很大,這樣的程序,作為一個日后的程序員是不應(yīng)該出現(xiàn)的。其中,對了SQL語言的使用是相當(dāng)?shù)闹匾?,因為沒有了SQL語言的支持,對數(shù)據(jù)庫表的操作,是根本無法實現(xiàn)的,對數(shù)據(jù)的增加、刪除、修改,都是
10、一樣的。發(fā)現(xiàn)對于軟件來說,對數(shù)據(jù)庫的操作是至關(guān)重要的,因為有很多軟件都是這樣的,無論是什么都要對數(shù)據(jù)進行操作,統(tǒng)計、分類、查詢、修改、刪除等,而正因為這樣,我在開始寫程序時的SQL基礎(chǔ)不好,所以出現(xiàn)在眾多難題,而翻書查尋便是經(jīng)常事情了,因為知識用到時方恨少了,其實我感覺用JAVA設(shè)計圖形界面,是很費勁的,嗯用它作手機游戲看起來還不錯,或者用它網(wǎng)絡(luò)B/S、都是很好的,因為它就是為了網(wǎng)絡(luò)而生的。總的來說,對于開展這樣的實用型項目,我個人認(rèn)為是非常重要的,這種實訓(xùn)突破了以前我的思維模式和慣性作法,以前對于程序來說,一開始就制作從來也不計劃,如果遇到了與想象中的不一樣的難題,就把這部分刪除掉,最近制作
11、出來的程序,往往是功能不完善、功能不明確,沒有具體的規(guī)劃和文檔,到最后讓別人很難理解,自已也是很難弄明白。沒有一個良好的程序設(shè)計思想,當(dāng)然了學(xué)習(xí)項目實戰(zhàn)后,丟掉了那樣壞毛病,建立了良好的設(shè)計思想和編程過程。有很多不理解現(xiàn)在變成了現(xiàn)在的理解感謝,因為往往一些正確的思想,總是一開始不被人接受,而到最近時才會被理解認(rèn)同,我也這樣認(rèn)為了。通過這次的訓(xùn)練,掌握運用了java程序設(shè)計的一些思想,了解了Java面向?qū)ο蟪绦蛟O(shè)計的基礎(chǔ)知識,熟練掌握了Java中常用的Swing組件的使用方法以及Java程序中圖形用戶界面設(shè)計的方法、使用JDBC操作數(shù)據(jù)庫的方法。初步了解了如何將復(fù)雜的問題層層分析成較小的子問題,
12、實現(xiàn)Java編程的實際操作,掌握如何運用Java解決一些常見的編程問題,并學(xué)會、掌握分析解決問題的方法,并運用Java的程序結(jié)合自己對Java程序的初步認(rèn)識與理解進行對照,查找自己與Java程序設(shè)計的偏差與不足之處,培養(yǎng)自己Java的思維。本次實訓(xùn)項目通過分析并實現(xiàn)了圖書管理系統(tǒng)。本系統(tǒng)的設(shè)計讓大家了解如何根據(jù)實際問題,分析功能需求,將復(fù)雜的問題分析成子問題,達(dá)到模塊化設(shè)計系統(tǒng)功能的目標(biāo)。同時,可以利用這種方法制作通訊錄管理、課程管理、工資管理、圖書管理等小型管理系統(tǒng),此外,此次實訓(xùn)培養(yǎng)了我們java 的思維能力,讓我們對java有了更深層次的學(xué)習(xí)與理解,通過兩周的實訓(xùn)可以去解決一些簡單的編程
13、問題,并對其出現(xiàn)的錯誤能以與改正和討論同時,也對以前自己朦朧而不解的問題有了很好的理解,也知道了一些貴重的資料為何要施加密碼,如銀行卡。對java的理論有了更深的理解,同時也可以運用本次的實訓(xùn)設(shè)置一些簡單的系統(tǒng),總之,我們從這次的實訓(xùn)中受益匪淺,我對這次實訓(xùn)還是比較滿意的,它使我學(xué)到了很多東西、學(xué)到了更深刻的知識,為我以后的學(xué)習(xí)做了引導(dǎo),點明了方向,我相信在不遠(yuǎn)的未來定會有屬于我們自己的一片美好天空!漫漫長路任我行,我需踏實腳下的路,一步步的前行。用現(xiàn)在的付出和汗水去勾畫未來美好的明天。最后,在侯老師的細(xì)心輔導(dǎo)下,我有了很大的進步,知識得到了擴充,認(rèn)識得到了加深,也使得我的自學(xué)能力得到了很大的
14、提高,在此,我向侯老師表示由衷地感謝。老師您辛苦了!java項目實訓(xùn)總結(jié)報告作為就業(yè)培訓(xùn),項目的好壞對培訓(xùn)質(zhì)量的影響十分大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)java軟件開發(fā)時練習(xí)項目的總結(jié),簡單總結(jié)為以下幾點:作為就業(yè)培訓(xùn),項目的好壞對培訓(xùn)質(zhì)量的影響十分大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)java軟件開發(fā)時練習(xí)項目的總結(jié),簡單總結(jié)為以下幾點:1、項目一定要全新的項目,不能是以前做過的2、項目一定要企業(yè)真實項目,不能是精簡以后的,不能脫離實際應(yīng)用系統(tǒng)3、在開發(fā)時要和企業(yè)的開發(fā)保持一致4、在做項目的時候不應(yīng)該有參考代碼長話短說就是以上幾點,如果你想要更多的了解,可以繼續(xù)往后看。一:
15、項目的地位因為參加就業(yè)培訓(xùn)的學(xué)員很多都是有一定的計算機基礎(chǔ),大部分都具備一定的編程基礎(chǔ),尤其是在?;蛘呤莿偖厴I(yè)的學(xué)生,多少都有一些基礎(chǔ)。他們欠缺的主要是兩點:(1)不能全面系統(tǒng)的、深入的掌握某種技術(shù),也就是會的挺多,但都是皮毛,不能滿足就業(yè)的需要。(2)沒有任何實際的開發(fā)經(jīng)驗,完全是想象中學(xué)習(xí),考試還行,一到實際開發(fā)和應(yīng)用就歇菜了。解決的方法就是通過項目練習(xí),對所學(xué)知識進行深化,然后通過項目來獲取實際開發(fā)的經(jīng)驗,從而彌補這些不足,盡快達(dá)到企業(yè)的實際要求。二:如何選擇項目項目既然那么重要,肯定不能隨隨便便找項目,那么究竟如何來選擇呢?根據(jù)java的研究和實踐經(jīng)驗總結(jié),選擇項目的時候要注意以下方面
16、:1:項目不能太大,也不能太小這個要根據(jù)項目練習(xí)的階段,練習(xí)的時間,練習(xí)的目標(biāo)來判斷。不能太大,太大了做不完,也不能太小,太小了沒有意義,達(dá)不到練習(xí)的目的。2:項目不能脫離實際應(yīng)用系統(tǒng)項目應(yīng)該是實際的系統(tǒng),或者是實際系統(tǒng)的簡化和抽象,不能夠是沒有實戰(zhàn)意義的教學(xué)性或者是純練習(xí)性的項目。因為培訓(xùn)的時間有限,必須讓學(xué)員盡快地融入到實際項目的開發(fā)當(dāng)中去。任何人接受和掌握一個東西都需要時間去適應(yīng),需要重復(fù)幾次才能夠真正掌握,所以每個項目都必須跟實際應(yīng)用掛鉤。3:項目應(yīng)能覆蓋所學(xué)的主要知識點學(xué)以致用,學(xué)完的知識點需要到應(yīng)用中使用,才能夠真正理解和掌握,再說了,軟件開發(fā)是一個動手能力要求很高的行業(yè),什么算會
17、了,那就是能夠做出來,寫出代碼來,把問題解決了,你就算會了。4:最后綜合項目一定要是實際應(yīng)用系統(tǒng)學(xué)員經(jīng)過這個項目的練習(xí),就要走上實際的工作崗位了,如果這個系統(tǒng)還達(dá)不到實際應(yīng)用系統(tǒng)的標(biāo)準(zhǔn),學(xué)員練習(xí)過后也還是達(dá)不到企業(yè)實際的需要,那么這個培訓(xùn)應(yīng)該說質(zhì)量就不高了。理想的狀況是這個項目就是實際項目,到時候?qū)W員就業(yè)到另外一個公司,不過是換個地方干活而已,完全沒有技能上的問題。三:java怎么選擇項目這個不是靠想象,而是根據(jù)實際的情況一步一步分析出來的(呵呵要賣弄一下:這也算是邏輯思維),當(dāng)然這里只是討論方法,不涉及具體的項目案例。我們可以采用倒推的方式來分析:(1)最終的項目一定是真實的項目,也就是要把
18、學(xué)員訓(xùn)練到能夠獨立開發(fā)實際應(yīng)用,通常我們還不能選最簡單的項目,因為學(xué)員的吸收還要有一個折扣,所以最終的項目應(yīng)該選實際項目中中等難度的項目(2)最終項目定下來過后,開始分解這個項目,看看為了達(dá)到完成這個項目需要哪些技術(shù)和知識點,以及每部分知識點的深度,然后定出每個分階段的任務(wù)(3)然后開始選擇分階段的項目,分階段的項目應(yīng)該比剛才分析出來的分階段任務(wù)稍稍復(fù)雜點,這樣才能達(dá)到訓(xùn)練的目標(biāo)。定下分階段項目后,同樣去分解,定出為了完成他所需要的各部分知識點和深度。(4)然后是選擇上課期間的演示項目,演示的項目是為了做分階段項目服務(wù)的,可以認(rèn)為是分階段項目的分階段項目(5)最終把要求掌握的知識點和要求掌握的
19、深度,分散到日常教學(xué)和練習(xí)中。好了,把上面的分析用正向描述就是:日常教學(xué)和練習(xí)中學(xué)習(xí)和掌握的知識 =演示項目 =分階段項目 =綜合項目 =勝任企業(yè)實際開發(fā)需要。附注:有了好的項目還要有好的訓(xùn)練方法(這個另外立文討論),最最基本和重要的一條就是:絕對要指導(dǎo)學(xué)生親自動手做,而不是看和聽,所以盡量不要選擇有現(xiàn)成代碼的項目,演示用的項目也最好不配發(fā)代碼,讓學(xué)生能夠跟著做出來才是真的掌握了。上面闡述了java對項目的態(tài)度和基本選擇方法,這里再把其中幾個重要的、與眾不同的特點闡述如下:1:真項目項目一定要真實,要是企業(yè)實際應(yīng)用的,不能是教學(xué)性的項目,否則會脫離實達(dá)不到項目實訓(xùn)的效果。還有一個一定要是最新的
20、項目,企業(yè)的要求也是在不斷變化的,應(yīng)用技術(shù)的方向和層次也在不斷變化,這些都體現(xiàn)在最新項目的要求上,舊項目所要求的技術(shù)和層次很可能已經(jīng)過時了,根本達(dá)不到訓(xùn)練的目的。java的做法是:沒有固定項目,每個班做項目之前會從企業(yè)獲取最新的項目需求,然后經(jīng)過挑選和精心設(shè)計,以保證既能訓(xùn)練技術(shù),又能得到實際的開發(fā)經(jīng)驗。這樣實現(xiàn)了跟企業(yè)的同步,企業(yè)做什么,我們就學(xué)什么,然后也跟著做什么。2:真流程開發(fā)的流程也要跟企業(yè)的實際開發(fā)保持一致。從項目立項開始,到需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試的各個環(huán)節(jié),都要完全按照真實的開發(fā)流程來做。java的主力老師都是實戰(zhàn)出身,在java開發(fā)方面都至少有七年以上的開發(fā)經(jīng)
21、驗,同時具備多年的項目管理經(jīng)驗,所以能夠完全按照企業(yè)開發(fā)的流程來訓(xùn)練學(xué)生。3:真環(huán)境開發(fā)的環(huán)境也要跟企業(yè)一樣,包括常用的開發(fā)工具、開發(fā)平臺、應(yīng)用服務(wù)器、常用插件、測試工具、項目管理工具、項目管理文檔等等。java的做法是:構(gòu)建跟企業(yè)完全一樣的環(huán)境,然后跟企業(yè)開發(fā)一樣,分團隊開發(fā)。老師就相當(dāng)于項目經(jīng)理,一個班分成多個小組,每個組有自己的team leader,大家分工合作,共同完成項目。4:真開發(fā)這是java最與眾不同的一點,java深知:軟件是做出來的,而不是聽出來或者看出來的,企業(yè)需要能實際開發(fā)的人員,而不是只聽過、看過但不能做的人。所以java十分強調(diào):項目一定要讓學(xué)生動手寫出來。java
22、的做法是:老師做為項目經(jīng)理,帶領(lǐng)著大家一起去做需求分析、概要設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計、接口設(shè)計、重要業(yè)務(wù)流程的分析設(shè)計等,然后由學(xué)生們分團隊進行開發(fā),實現(xiàn)整個項目。這里有幾個與眾不同:(1):現(xiàn)場帶領(lǐng)學(xué)生一起做分析和設(shè)計,而不是預(yù)先做好了來講講。因為需要學(xué)生學(xué)習(xí)的是分析設(shè)計的過程和方法,而不是已經(jīng)做好的結(jié)果。(2):java選用的項目基本都是企業(yè)最新的項目,很多都是java的學(xué)生和企業(yè)在同期開發(fā),所以是不配發(fā)源代碼的。這樣也斷絕了學(xué)生的依賴思想,認(rèn)認(rèn)真真去開發(fā)??赡苡型瑢W(xué)會問:為什么不選擇有源代碼的項目呢,那樣還可以參考學(xué)習(xí)啊!這是一個典型的誤區(qū):覺得通過看人家的代碼能夠加快自己的學(xué)習(xí)。這個方法對有
23、經(jīng)驗的人來講是對的,但是對于還在學(xué)習(xí)期間,沒有經(jīng)驗的學(xué)員來講,就是一個認(rèn)識的誤區(qū)了。因為你也許能看懂代碼的語法,但根本看不懂代碼背后的含義,看不懂代碼的設(shè)計,看不懂為什么要這么實現(xiàn),看不懂代碼所體現(xiàn)的思想,其實,看了跟沒看沒有多大區(qū)別。事實上,java界最不缺的就是代碼了,那么多開源軟件,小到一個工具,到企業(yè)級erp都有開源的,而且很多都是大師級的作品,說實話比你參考的那些代碼質(zhì)量高多了,但是又有多少人能真正看明白呢,原因就在于達(dá)不到那個水平,看不懂代碼背后所體現(xiàn)的設(shè)計和思想以及為什么要這么做,效果也就不好了。java項目實訓(xùn)總結(jié)報告一、 課程設(shè)計名稱及主要內(nèi)容:1、 課程設(shè)計名稱:時鐘動畫2
24、、 課程設(shè)計的主要內(nèi)容:以下題目任選一個:(1)圖形界面類,如科學(xué)計算器、繪圖板、日歷、游戲程序等。(2)動畫類,編制功能較復(fù)雜、效果較好的Applet動畫程序。(3)數(shù)據(jù)處理類,如學(xué)生學(xué)籍、課程成績、圖書編目、倉庫貨物等數(shù)據(jù)錄入查詢程序。(4)其他類型,自選題目,須經(jīng)指導(dǎo)老師同意。我所選的題目是動畫類的Applet動畫程序,主要任務(wù)是用Java程序設(shè)計一個時鐘動畫。二、 程序的設(shè)計思想和流程圖:1、 設(shè)計思想:現(xiàn)在的各種時鐘花樣百出,千奇百怪,功能亦是越來越先進了。我很喜歡這些各式各樣的時鐘,所以希望自己也能設(shè)計出一個來。于是,我希望自己能夠用自己所學(xué)的Java知識設(shè)計出一個自己的時鐘動畫,
25、即使是最簡單的,但我相信這是暫時的。只要我能夠努力學(xué)好Java知識,將來一定能夠設(shè)計出更好更完美的時鐘動畫。2、 流程圖:三、 程序介紹:1、設(shè)計方法及步驟 : 題目分析:根據(jù)課程設(shè)計任務(wù)書要求,分析題目,構(gòu)造出程序的基本思路(算法設(shè)計)。畫出程序設(shè)計結(jié)構(gòu)框圖。 構(gòu)造數(shù)據(jù)結(jié)構(gòu):根據(jù)程序結(jié)構(gòu)框圖和題目分析結(jié)果(采用算法),構(gòu)造程序所用各項數(shù)據(jù),各種窗體及他們之間的聯(lián)系。 構(gòu)造程序框架:在窗體確定之后,根據(jù)算法設(shè)計出所用各個窗體之間的調(diào)用關(guān)系。 程序設(shè)計:畫出程序功能框圖和結(jié)構(gòu)框圖;根據(jù)框圖設(shè)計程序;編譯程序調(diào)試程序,使程序可以使用;完備程序功能。 程序打包:所設(shè)計程序匯總,將程序分類歸入相應(yīng)子目
26、錄,完成程序所有設(shè)計要求。2、完成情況:經(jīng)過一系列的Java程序代碼的設(shè)計,雖然過程中遇到了許多的問題,但是最終解決了所有的問題,準(zhǔn)確的設(shè)計出了時鐘動畫,運行情況正常。3、類的關(guān)系:“public class AnimatorDemo”是公共類,且是程序中的唯一的一個類。4、構(gòu)造方法、成員變量和成員方法的功能說明:“Thread timer”用于顯示時鐘的線程;“SimpleDateFormat formatter”用于格式化時間顯示; “String lastdate”用于保存當(dāng)前時間的字符串;“Font clockFaceFont”用于設(shè)置顯示時鐘里面的數(shù)字的字體; “Date curre
27、ntDate”用于顯示當(dāng)前時間;“Color handColor”用于顯示時針、分針和表盤的顏色; “Color numberColor” 用于顯示秒針和數(shù)字的顏色; “public void init()”用于設(shè)計時鐘格式并捕捉異常;“public void plotpoints(int x0, int y0, int x, int y, Graphics g)” 用于計算四分之一的圓弧;“public void circle(int x0, int y0, int r, Graphics g”) 用Bresenham算法來畫圓,其中(x0,y0)是圓的中心,r為圓半徑; “public v
28、oid paint(Graphics g)”用于運行時鐘程序; “public void start()” applet的啟動方法;“public void stop()” applet的停止方法;“public void run()” 線程的run方法。四、 遇到的問題和解決方法:1、 問題: 寫程序的時候,由于對有些Java知識不懂,所以有些想要表達(dá)的意思無法用Java代碼準(zhǔn)確的表達(dá)出來,老是出錯或者無法寫下去; 一開始,自己準(zhǔn)備的參考資料不足,無法在遇到問題時有效的利用參考資料解決,遇到不懂的問題和不會用程序語言表達(dá)的問題時,只能留在那里,無法解決,結(jié)果問題最后越積越多,導(dǎo)致我無法再把程
29、序?qū)懴氯? 一開始,對于老師布置的作業(yè)題目,我不太懂,無法進行有效而且清晰的分析,自然也無法繼續(xù)下去寫程序了,耽誤了較多的時間; 對于要寫流程圖,一開始我并不懂是什么意思,也不知道怎么去寫。2、 解決方法: 對于那些不懂的Java知識和不會寫的程序,我通過向同學(xué)尋求幫助和利用參考資料書,最終都解決了; 對于自己參考資料不足的缺點,我在下課后,去了圖書館借閱有關(guān)方面的Java參考資料書,并且向同學(xué)借閱了他們所擁有的資料書,然后又利用自己的電腦上網(wǎng)查找了一些有關(guān)方面的參考知識,終于在最后解決了資料不足的缺點; 對于不懂的題目,我也通過向多個同學(xué)進行詢問,最終弄懂了老師布置的題目所要求的內(nèi)容; 至于
30、流程圖,在我向同學(xué)詢問過,并且上網(wǎng)進行了一番查找和咨詢后,也總算弄懂了流程圖的含義,并努力寫了出來。五、 認(rèn)識、感想、建議:六、 參考資料:精通JavaJDK、數(shù)據(jù)庫系統(tǒng)開發(fā)、Web開發(fā)Java進階教程零起點Java應(yīng)用編程Java程序設(shè)計應(yīng)用基礎(chǔ)教程七、 附加源程序:import java.util.*;import java.awt.*;import java.applet.*;import java.text.*;public class AnimatorDemo extends Applet implements RunnableThread timer; / 用于顯示時鐘的線程int
31、 lastxs, lastys, lastxm,lastym, lastxh, lastyh;SimpleDateFormat formatter; /格式化時間顯示String lastdate; / 保存當(dāng)前時間的字符串Font clockFaceFont; /設(shè)置顯示時鐘里面的數(shù)字的字體Date currentDate; / 顯示當(dāng)前時間Color handColor; / 用于顯示時針、分針和表盤的顏色Color numberColor; / 用于顯示秒針和數(shù)字的顏色public void init()int x,y;lastxs = lastys = lastxm = lastym
32、= lastxh = lastyh = 0;formatter = new SimpleDateFormat (yyyy EEE MMM dd hh:mm:ss );currentDate = new Date();lastdate = formatter.format(currentDate);clockFaceFont = new Font(Serif, Font.PLAIN, 14);handColor = Color.blue;numberColor = Color.darkGray;try setBackground(new Color(Integer.parseInt(getPar
33、ameter(bgcolor),16);catch (Exception E) try handColor = new Color(Integer.parseInt(getParameter(fgcolor1),16);catch (Exception E) try numberColor = new Color(Integer.parseInt(getParameter(fgcolor2),16); catch (Exception E) resize(300,300); / 設(shè)置時鐘窗口大小/ 計算四分之一的圓弧public void plotpoints(int x0, int y0,
34、int x, int y, Graphics g)g.drawLine(x0+x,y0+y,x0+x,y0+y);g.drawLine(x0+y,y0+x,x0+y,y0+x);g.drawLine(x0+y,y0 x,x0+y,y0 x);g.drawLine(x0+x,y0y,x0+x,y0y);g.drawLine(x0 x,y0y,x0 x,y0y);g.drawLine(x0y,y0 x,x0y,y0 x);g.drawLine(x0y,y0+x,x0y,y0+x);g.drawLine(x0 x,y0+y,x0 x,y0+y);/ 用Bresenham算法來畫圓,其中(x0,y0)
35、是圓的中心,r為圓半徑public void circle(int x0, int y0, int r, Graphics g)int x,y;float d;x=0;y=r;d=5/4r;plotpoints(x0,y0,x,y,g);while(yx)if (d0) d=d+2*x+3;x+;else d=d+2*(xy)+5;x+;y;plotpoints(x0,y0,x,y,g);public void paint(Graphics g)int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter; String
36、 today;currentDate = new Date();SimpleDateFormat formatter = new SimpleDateFormat(s,Locale.getDefault(); try s = Integer.parseInt(formatter.format(currentDate); catch (NumberFormatException n) s = 0;formatter.applyPattern(m);try m = Integer.parseInt(formatter.format(currentDate); catch (NumberFormat
37、Exception n) m = 10;formatter.applyPattern(h);try h = Integer.parseInt(formatter.format(currentDate); catch (NumberFormatException n) h = 10;formatter.applyPattern(EEE MMM dd HH:mm:ss yyyy);today = formatter.format(currentDate);/設(shè)置時鐘的表盤的中心點為(80,55)xcenter=80;ycenter=55;/ a= s* pi/2 pi/2 (to switch 0
38、,0 from 3:00 to 12:00)/ x = r(cos a) + xcenter, y = r(sin a) + ycenterxs = (int)(Math.cos(s * 3.14f/30 3.14f/2) * 45 + xcenter);ys = (int)(Math.sin(s * 3.14f/30 3.14f/2) * 45 + ycenter);xm = (int)(Math.cos(m * 3.14f/30 3.14f/2) * 40 + xcenter);ym = (int)(Math.sin(m * 3.14f/30 3.14f/2) * 40 + ycenter);xh = (int)(Math.cos(h*30 + m/2) * 3.14f/180 3.14f/2) * 30 + xcenter); yh = (int)(Math.sin(h*30 + m/2) * 3.14f/180 3.14f/2) * 30 + ycenter); /畫時鐘最外面的圓盤其中心在(xcenter,ycenter)半徑為50g.setFont(clockFaceFont);g.setColor(handColor);circle(xcenter,ycenter,50,g);/畫時鐘表盤里的數(shù)字g.setColor(n
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融公司報銷管理辦法
- 咨詢?nèi)藛T考核管理辦法
- 云浮企業(yè)差旅費管理辦法
- 昌吉市非稅收入管理辦法
- 博物館規(guī)章管理制度
- 旅游預(yù)訂誠意金退還合同模板
- 技術(shù)服務(wù)及培訓(xùn)合作協(xié)議
- 生態(tài)餐廳合伙人經(jīng)營協(xié)議
- 藝術(shù)教育現(xiàn)場場記聘用協(xié)議
- 農(nóng)業(yè)基礎(chǔ)設(shè)施共建共享合同書
- 2019-2020鞍山八年第二學(xué)期語文期末考試帶答案
- 心臟粘液瘤超聲診斷
- 國家開放大學(xué)電大2022年春季期末考試《商務(wù)英語閱讀》試題試卷代號4050
- 2023年音樂考試真題
- NB/T 10751-2021礦用往復(fù)式氣動注漿泵
- 裝卸搬運課件
- GB/T 18391.2-2009信息技術(shù)元數(shù)據(jù)注冊系統(tǒng)(MDR)第2部分:分類
- GB/T 16924-2008鋼件的淬火與回火
- 基礎(chǔ)護理學(xué):肌內(nèi)注射
- 藥品電子監(jiān)管碼管理sop
- 2018年上海高考?xì)v史試題及答案
評論
0/150
提交評論