java項目實訓總結報告_第1頁
java項目實訓總結報告_第2頁
java項目實訓總結報告_第3頁
java項目實訓總結報告_第4頁
java項目實訓總結報告_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、(本模板為Word格式,可根據(jù)您的需要調整內容及格式,歡迎下載。) java項目實訓總結報告java項目實訓總結報告一、實訓目的1.熟練掌握Java面向對象程序設計的基礎知識。2.熟練掌握Java中常用的Swing組件的使用方法。3.熟練掌握Java程序中圖形用戶界面設計的方法。4.熟練掌握使用JDBC操作數(shù)據(jù)庫的方法。5.通過實訓,培養(yǎng)學生分析和解決實際問題的能力,提高調試和分析應用程序的能力,并為后續(xù)Java高級編程等專業(yè)課程的學習奠定良好的基礎。二、課程設計報告內容2.1 實訓內容本課程設計的題目是設計一個簡化的圖書管理系統(tǒng)。該系統(tǒng)從圖書館管理人員的角度出發(fā),實現(xiàn)對圖書信息、讀者信息的瀏

2、覽、添加、刪除和查詢,同時還可以對讀者借書、還書過程進行操作和控制。設計內容主要包括系統(tǒng)分析、數(shù)據(jù)庫、數(shù)據(jù)表的創(chuàng)建、系統(tǒng)各個窗體的布局及其編碼實現(xiàn)。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成的。該管理系統(tǒng)需要完成的基本功能主要有:用戶管理:主要包括用戶的添加、修改和刪除。讀者管理:主要包括讀者信息的瀏覽、添加、刪除和查詢。圖書管理:主要包括圖書信息的瀏覽、添加、刪除和查詢。借還書管理:主要包括借書、還書和續(xù)借。2.2 實訓設備或軟、硬件硬件:P及以上性能的PC機;軟件:Windows 2000或Windows XP系統(tǒng);JDK工具;JCreator4.0環(huán)境2.3 功能設計及思想首先設計測

3、試登錄窗口:Text.java接下來設計LoginFrame.java(登錄窗口)、MainFrame(主窗體)Addbookframe.java(圖書入庫窗口)、AddReaders.java(添加讀者窗口)、AddUserframe.java(添加用戶窗口)、Borrowframe.java(借書窗口)、Retumframe.java(還書窗口)、Queryframe.java(圖書查詢窗口)。導入部分及實現(xiàn)的接口三、結論Java實訓在不知不覺中就結束了,我感覺自己還有好多東西要學,還有好多的東西不懂呢!這是我大學以來第3次實訓,每次實訓我都感覺學到了好多東西!因為是一天到晚的不間斷訓練,

4、所以記的會非常牢固。不像平時上課,每上兩次的理論課卻只有45分鐘的實際操作。在課上,有老師在前面演示我們都還能跟著做,可輪到我們獨立完成的時候,因為實際操作的少,早就忘光了!我很感謝學校有實訓這樣的安排,把我們這一學期學的東西系統(tǒng)的集中的進行訓練,對我們計算機水平的提高發(fā)揮著重要作用!還要感謝我們的侯老師,侯老師學識淵博,也很有耐心,即使老師講了很多遍的問題,我們不會,老師還是會走進我們給我們耐心的指導,還給我們講一些學習java的方法,讓我們知道自己在哪方面不足,需要加強,也讓我們了解到哪些需要認真的學習,那些是重點,不是沒有方向的亂學一通,什么也學不好!經過這次的實訓,我真真確確的感受到了

5、這些開發(fā)工具能讓我們提高工作的效率,更直觀更便捷的切入主題。這次我們學習的是制作圖書信息管理系統(tǒng),由老師給我們指導。當然,在學習的過程中并不是一帆風順的,在這之中,因為要操作的東西很多,有時錯一步,后面的結果就無法顯示,而自己的耐心與細心又太差,根本檢查不出來是哪里出了錯!這時候,侯老師都會耐心的過來幫助我,我很感謝侯老師也很感謝學校能安排這么優(yōu)秀的侯老師來教我們!只是,我們太頑皮,有很多東西老師講了我們也沒能記住,我想在此說一句:老師,您辛苦了,下學期我們一定認認真真的好好學!實訓課是在學習與探索中度過的,短暫的15天實訓是結束了,但其中讓我們學到了許多知識,出現(xiàn)許多未知的為什么,如圖書管理

6、數(shù)據(jù)庫的初步設置、JDBC和SQL Server服務器的連接、數(shù)據(jù)備份與還原的步驟,報表的設計與實現(xiàn)、如何設置數(shù)據(jù)源、通過ADO訪問數(shù)據(jù)庫的方法、監(jiān)測器、各種Java Swing組件的使用,綁定控件的屬性設置、如何實現(xiàn)Click事件、實現(xiàn)它的獲得方法、設置注冊焦點監(jiān)測器、獲取當前日期、以及利用函數(shù)之間的相互轉換等等一系列的問題,正是在老師和同學的共同努力之下,我才一步步把問題解決了,最終完成了不可能完成的任務。為期15天的實訓課就這樣結束了,我發(fā)現(xiàn)我對java有了新的認識,以前只知道玩游戲、娛樂和簡單的應用。通過這次的實訓,我了解到,要真真正正的掌握這些開發(fā)工具還不是一件簡單容易的事兒,但真正

7、掌握后,它帶個我們的將是無窮的便捷與科技,我喜歡高端便捷的生活。我希望我能做計算機這個萬能機器人的主人而不是奴隸,我會努力加油的!通過實訓,我不僅鞏固了舊知識,也學到了新的知識,并且把所學的應用到實際操作中,提高了我們的實際動手能力和邏輯思維能力。也讓我們對軟件開發(fā)的流程有一定了解,并且對開發(fā)軟件有了一些初步的經驗。真正做到了學習與實際應用相結合,真的很感謝老師為我們爭取的這次實訓機會,在這次實訓期間我獲益匪淺。最后,謝謝老師在實習過程給予的.幫助!老師辛苦了!感謝學校,感謝老師給我的幫助,讓我的思想、技能又上了一個臺階!四、結束語Java圖書管理系統(tǒng)項目心得:其實在學習圖書管理系統(tǒng)實訓時,我

8、們就已經開展了SQL的學習,雖然它們之間存在不同,但是屬于同一種語言計算機語言,但是實際上呢!它們的思想是不同的,JAVA只是一種面向對象語言,而該項目實戰(zhàn)是教我們如何制作一個實用型的軟件,從實際出發(fā),一步一步的按照老師的規(guī)定進行,按正規(guī)模式的方式制作軟件,從初期的項目分析,書寫可行性報告,到項目分工,最后開始書寫代碼,一天一天的寫編程日記,把每一天遇到或完成的事情記錄下來,一步步設計完成自已的工作,想象自己是一個程序設計師,我主要完成界面及其代碼的設計,而其中有很多東西是我們所不知道,正向所有編程人員一樣,我們是邊學邊作,而且書寫代碼的速度要很快,因為一個項目不應該在書寫代碼的方面浪費時間,

9、在這期間很訓練人,因為每天寫代碼時,都寫的一身熱汗,著急呀!可是當完成每天的任務,而多完成時有很大的成就感了,這當然是一個心里成就了,因為我暫時還沒有寫完這個程序了。說真的,我寫完這個圖書信息管理系統(tǒng)時,真的感覺很累了,不過又很輕松了,因為終于完成了,不過在看了其他同學設計的程序時,心里也感到眾多不足,因為我們設計的程序,在判斷某些輸入資料時,總是不嚴謹,可能給日后用戶帶來很多不方便,而且在日后的維護工作會很大,這樣的程序,作為一個日后的程序員是不應該出現(xiàn)的。其中,對了SQL語言的使用是相當?shù)闹匾?,因為沒有了SQL語言的支持,對數(shù)據(jù)庫表的操作,是根本無法實現(xiàn)的,對數(shù)據(jù)的增加、刪除、修改,都是

10、一樣的。發(fā)現(xiàn)對于軟件來說,對數(shù)據(jù)庫的操作是至關重要的,因為有很多軟件都是這樣的,無論是什么都要對數(shù)據(jù)進行操作,統(tǒng)計、分類、查詢、修改、刪除等,而正因為這樣,我在開始寫程序時的SQL基礎不好,所以出現(xiàn)在眾多難題,而翻書查尋便是經常事情了,因為知識用到時方恨少了,其實我感覺用JAVA設計圖形界面,是很費勁的,嗯用它作手機游戲看起來還不錯,或者用它網絡B/S、都是很好的,因為它就是為了網絡而生的??偟膩碚f,對于開展這樣的實用型項目,我個人認為是非常重要的,這種實訓突破了以前我的思維模式和慣性作法,以前對于程序來說,一開始就制作從來也不計劃,如果遇到了與想象中的不一樣的難題,就把這部分刪除掉,最近制作

11、出來的程序,往往是功能不完善、功能不明確,沒有具體的規(guī)劃和文檔,到最后讓別人很難理解,自已也是很難弄明白。沒有一個良好的程序設計思想,當然了學習項目實戰(zhàn)后,丟掉了那樣壞毛病,建立了良好的設計思想和編程過程。有很多不理解現(xiàn)在變成了現(xiàn)在的理解感謝,因為往往一些正確的思想,總是一開始不被人接受,而到最近時才會被理解認同,我也這樣認為了。通過這次的訓練,掌握運用了java程序設計的一些思想,了解了Java面向對象程序設計的基礎知識,熟練掌握了Java中常用的Swing組件的使用方法以及Java程序中圖形用戶界面設計的方法、使用JDBC操作數(shù)據(jù)庫的方法。初步了解了如何將復雜的問題層層分析成較小的子問題,

12、實現(xiàn)Java編程的實際操作,掌握如何運用Java解決一些常見的編程問題,并學會、掌握分析解決問題的方法,并運用Java的程序結合自己對Java程序的初步認識與理解進行對照,查找自己與Java程序設計的偏差與不足之處,培養(yǎng)自己Java的思維。本次實訓項目通過分析并實現(xiàn)了圖書管理系統(tǒng)。本系統(tǒng)的設計讓大家了解如何根據(jù)實際問題,分析功能需求,將復雜的問題分析成子問題,達到模塊化設計系統(tǒng)功能的目標。同時,可以利用這種方法制作通訊錄管理、課程管理、工資管理、圖書管理等小型管理系統(tǒng),此外,此次實訓培養(yǎng)了我們java 的思維能力,讓我們對java有了更深層次的學習與理解,通過兩周的實訓可以去解決一些簡單的編程

13、問題,并對其出現(xiàn)的錯誤能以與改正和討論同時,也對以前自己朦朧而不解的問題有了很好的理解,也知道了一些貴重的資料為何要施加密碼,如銀行卡。對java的理論有了更深的理解,同時也可以運用本次的實訓設置一些簡單的系統(tǒng),總之,我們從這次的實訓中受益匪淺,我對這次實訓還是比較滿意的,它使我學到了很多東西、學到了更深刻的知識,為我以后的學習做了引導,點明了方向,我相信在不遠的未來定會有屬于我們自己的一片美好天空!漫漫長路任我行,我需踏實腳下的路,一步步的前行。用現(xiàn)在的付出和汗水去勾畫未來美好的明天。最后,在侯老師的細心輔導下,我有了很大的進步,知識得到了擴充,認識得到了加深,也使得我的自學能力得到了很大的

14、提高,在此,我向侯老師表示由衷地感謝。老師您辛苦了!java項目實訓總結報告作為就業(yè)培訓,項目的好壞對培訓質量的影響十分大,常常是決定性的作用。這篇文章是關于在學習java軟件開發(fā)時練習項目的總結,簡單總結為以下幾點:作為就業(yè)培訓,項目的好壞對培訓質量的影響十分大,常常是決定性的作用。這篇文章是關于在學習java軟件開發(fā)時練習項目的總結,簡單總結為以下幾點:1、項目一定要全新的項目,不能是以前做過的2、項目一定要企業(yè)真實項目,不能是精簡以后的,不能脫離實際應用系統(tǒng)3、在開發(fā)時要和企業(yè)的開發(fā)保持一致4、在做項目的時候不應該有參考代碼長話短說就是以上幾點,如果你想要更多的了解,可以繼續(xù)往后看。一:

15、項目的地位因為參加就業(yè)培訓的學員很多都是有一定的計算機基礎,大部分都具備一定的編程基礎,尤其是在?;蛘呤莿偖厴I(yè)的學生,多少都有一些基礎。他們欠缺的主要是兩點:(1)不能全面系統(tǒng)的、深入的掌握某種技術,也就是會的挺多,但都是皮毛,不能滿足就業(yè)的需要。(2)沒有任何實際的開發(fā)經驗,完全是想象中學習,考試還行,一到實際開發(fā)和應用就歇菜了。解決的方法就是通過項目練習,對所學知識進行深化,然后通過項目來獲取實際開發(fā)的經驗,從而彌補這些不足,盡快達到企業(yè)的實際要求。二:如何選擇項目項目既然那么重要,肯定不能隨隨便便找項目,那么究竟如何來選擇呢?根據(jù)java的研究和實踐經驗總結,選擇項目的時候要注意以下方面

16、:1:項目不能太大,也不能太小這個要根據(jù)項目練習的階段,練習的時間,練習的目標來判斷。不能太大,太大了做不完,也不能太小,太小了沒有意義,達不到練習的目的。2:項目不能脫離實際應用系統(tǒng)項目應該是實際的系統(tǒng),或者是實際系統(tǒng)的簡化和抽象,不能夠是沒有實戰(zhàn)意義的教學性或者是純練習性的項目。因為培訓的時間有限,必須讓學員盡快地融入到實際項目的開發(fā)當中去。任何人接受和掌握一個東西都需要時間去適應,需要重復幾次才能夠真正掌握,所以每個項目都必須跟實際應用掛鉤。3:項目應能覆蓋所學的主要知識點學以致用,學完的知識點需要到應用中使用,才能夠真正理解和掌握,再說了,軟件開發(fā)是一個動手能力要求很高的行業(yè),什么算會

17、了,那就是能夠做出來,寫出代碼來,把問題解決了,你就算會了。4:最后綜合項目一定要是實際應用系統(tǒng)學員經過這個項目的練習,就要走上實際的工作崗位了,如果這個系統(tǒng)還達不到實際應用系統(tǒng)的標準,學員練習過后也還是達不到企業(yè)實際的需要,那么這個培訓應該說質量就不高了。理想的狀況是這個項目就是實際項目,到時候學員就業(yè)到另外一個公司,不過是換個地方干活而已,完全沒有技能上的問題。三:java怎么選擇項目這個不是靠想象,而是根據(jù)實際的情況一步一步分析出來的(呵呵要賣弄一下:這也算是邏輯思維),當然這里只是討論方法,不涉及具體的項目案例。我們可以采用倒推的方式來分析:(1)最終的項目一定是真實的項目,也就是要把

18、學員訓練到能夠獨立開發(fā)實際應用,通常我們還不能選最簡單的項目,因為學員的吸收還要有一個折扣,所以最終的項目應該選實際項目中中等難度的項目(2)最終項目定下來過后,開始分解這個項目,看看為了達到完成這個項目需要哪些技術和知識點,以及每部分知識點的深度,然后定出每個分階段的任務(3)然后開始選擇分階段的項目,分階段的項目應該比剛才分析出來的分階段任務稍稍復雜點,這樣才能達到訓練的目標。定下分階段項目后,同樣去分解,定出為了完成他所需要的各部分知識點和深度。(4)然后是選擇上課期間的演示項目,演示的項目是為了做分階段項目服務的,可以認為是分階段項目的分階段項目(5)最終把要求掌握的知識點和要求掌握的

19、深度,分散到日常教學和練習中。好了,把上面的分析用正向描述就是:日常教學和練習中學習和掌握的知識 =演示項目 =分階段項目 =綜合項目 =勝任企業(yè)實際開發(fā)需要。附注:有了好的項目還要有好的訓練方法(這個另外立文討論),最最基本和重要的一條就是:絕對要指導學生親自動手做,而不是看和聽,所以盡量不要選擇有現(xiàn)成代碼的項目,演示用的項目也最好不配發(fā)代碼,讓學生能夠跟著做出來才是真的掌握了。上面闡述了java對項目的態(tài)度和基本選擇方法,這里再把其中幾個重要的、與眾不同的特點闡述如下:1:真項目項目一定要真實,要是企業(yè)實際應用的,不能是教學性的項目,否則會脫離實達不到項目實訓的效果。還有一個一定要是最新的

20、項目,企業(yè)的要求也是在不斷變化的,應用技術的方向和層次也在不斷變化,這些都體現(xiàn)在最新項目的要求上,舊項目所要求的技術和層次很可能已經過時了,根本達不到訓練的目的。java的做法是:沒有固定項目,每個班做項目之前會從企業(yè)獲取最新的項目需求,然后經過挑選和精心設計,以保證既能訓練技術,又能得到實際的開發(fā)經驗。這樣實現(xiàn)了跟企業(yè)的同步,企業(yè)做什么,我們就學什么,然后也跟著做什么。2:真流程開發(fā)的流程也要跟企業(yè)的實際開發(fā)保持一致。從項目立項開始,到需求分析、概要設計、詳細設計、編碼、測試的各個環(huán)節(jié),都要完全按照真實的開發(fā)流程來做。java的主力老師都是實戰(zhàn)出身,在java開發(fā)方面都至少有七年以上的開發(fā)經

21、驗,同時具備多年的項目管理經驗,所以能夠完全按照企業(yè)開發(fā)的流程來訓練學生。3:真環(huán)境開發(fā)的環(huán)境也要跟企業(yè)一樣,包括常用的開發(fā)工具、開發(fā)平臺、應用服務器、常用插件、測試工具、項目管理工具、項目管理文檔等等。java的做法是:構建跟企業(yè)完全一樣的環(huán)境,然后跟企業(yè)開發(fā)一樣,分團隊開發(fā)。老師就相當于項目經理,一個班分成多個小組,每個組有自己的team leader,大家分工合作,共同完成項目。4:真開發(fā)這是java最與眾不同的一點,java深知:軟件是做出來的,而不是聽出來或者看出來的,企業(yè)需要能實際開發(fā)的人員,而不是只聽過、看過但不能做的人。所以java十分強調:項目一定要讓學生動手寫出來。java

22、的做法是:老師做為項目經理,帶領著大家一起去做需求分析、概要設計、數(shù)據(jù)結構設計、接口設計、重要業(yè)務流程的分析設計等,然后由學生們分團隊進行開發(fā),實現(xiàn)整個項目。這里有幾個與眾不同:(1):現(xiàn)場帶領學生一起做分析和設計,而不是預先做好了來講講。因為需要學生學習的是分析設計的過程和方法,而不是已經做好的結果。(2):java選用的項目基本都是企業(yè)最新的項目,很多都是java的學生和企業(yè)在同期開發(fā),所以是不配發(fā)源代碼的。這樣也斷絕了學生的依賴思想,認認真真去開發(fā)??赡苡型瑢W會問:為什么不選擇有源代碼的項目呢,那樣還可以參考學習啊!這是一個典型的誤區(qū):覺得通過看人家的代碼能夠加快自己的學習。這個方法對有

23、經驗的人來講是對的,但是對于還在學習期間,沒有經驗的學員來講,就是一個認識的誤區(qū)了。因為你也許能看懂代碼的語法,但根本看不懂代碼背后的含義,看不懂代碼的設計,看不懂為什么要這么實現(xiàn),看不懂代碼所體現(xiàn)的思想,其實,看了跟沒看沒有多大區(qū)別。事實上,java界最不缺的就是代碼了,那么多開源軟件,小到一個工具,到企業(yè)級erp都有開源的,而且很多都是大師級的作品,說實話比你參考的那些代碼質量高多了,但是又有多少人能真正看明白呢,原因就在于達不到那個水平,看不懂代碼背后所體現(xiàn)的設計和思想以及為什么要這么做,效果也就不好了。java項目實訓總結報告一、 課程設計名稱及主要內容:1、 課程設計名稱:時鐘動畫2

24、、 課程設計的主要內容:以下題目任選一個:(1)圖形界面類,如科學計算器、繪圖板、日歷、游戲程序等。(2)動畫類,編制功能較復雜、效果較好的Applet動畫程序。(3)數(shù)據(jù)處理類,如學生學籍、課程成績、圖書編目、倉庫貨物等數(shù)據(jù)錄入查詢程序。(4)其他類型,自選題目,須經指導老師同意。我所選的題目是動畫類的Applet動畫程序,主要任務是用Java程序設計一個時鐘動畫。二、 程序的設計思想和流程圖:1、 設計思想:現(xiàn)在的各種時鐘花樣百出,千奇百怪,功能亦是越來越先進了。我很喜歡這些各式各樣的時鐘,所以希望自己也能設計出一個來。于是,我希望自己能夠用自己所學的Java知識設計出一個自己的時鐘動畫,

25、即使是最簡單的,但我相信這是暫時的。只要我能夠努力學好Java知識,將來一定能夠設計出更好更完美的時鐘動畫。2、 流程圖:三、 程序介紹:1、設計方法及步驟 : 題目分析:根據(jù)課程設計任務書要求,分析題目,構造出程序的基本思路(算法設計)。畫出程序設計結構框圖。 構造數(shù)據(jù)結構:根據(jù)程序結構框圖和題目分析結果(采用算法),構造程序所用各項數(shù)據(jù),各種窗體及他們之間的聯(lián)系。 構造程序框架:在窗體確定之后,根據(jù)算法設計出所用各個窗體之間的調用關系。 程序設計:畫出程序功能框圖和結構框圖;根據(jù)框圖設計程序;編譯程序調試程序,使程序可以使用;完備程序功能。 程序打包:所設計程序匯總,將程序分類歸入相應子目

26、錄,完成程序所有設計要求。2、完成情況:經過一系列的Java程序代碼的設計,雖然過程中遇到了許多的問題,但是最終解決了所有的問題,準確的設計出了時鐘動畫,運行情況正常。3、類的關系:“public class AnimatorDemo”是公共類,且是程序中的唯一的一個類。4、構造方法、成員變量和成員方法的功能說明:“Thread timer”用于顯示時鐘的線程;“SimpleDateFormat formatter”用于格式化時間顯示; “String lastdate”用于保存當前時間的字符串;“Font clockFaceFont”用于設置顯示時鐘里面的數(shù)字的字體; “Date curre

27、ntDate”用于顯示當前時間;“Color handColor”用于顯示時針、分針和表盤的顏色; “Color numberColor” 用于顯示秒針和數(shù)字的顏色; “public void init()”用于設計時鐘格式并捕捉異常;“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知識不懂,所以有些想要表達的意思無法用Java代碼準確的表達出來,老是出錯或者無法寫下去; 一開始,自己準備的參考資料不足,無法在遇到問題時有效的利用參考資料解決,遇到不懂的問題和不會用程序語言表達的問題時,只能留在那里,無法解決,結果問題最后越積越多,導致我無法再把程

29、序寫下去; 一開始,對于老師布置的作業(yè)題目,我不太懂,無法進行有效而且清晰的分析,自然也無法繼續(xù)下去寫程序了,耽誤了較多的時間; 對于要寫流程圖,一開始我并不懂是什么意思,也不知道怎么去寫。2、 解決方法: 對于那些不懂的Java知識和不會寫的程序,我通過向同學尋求幫助和利用參考資料書,最終都解決了; 對于自己參考資料不足的缺點,我在下課后,去了圖書館借閱有關方面的Java參考資料書,并且向同學借閱了他們所擁有的資料書,然后又利用自己的電腦上網查找了一些有關方面的參考知識,終于在最后解決了資料不足的缺點; 對于不懂的題目,我也通過向多個同學進行詢問,最終弄懂了老師布置的題目所要求的內容; 至于

30、流程圖,在我向同學詢問過,并且上網進行了一番查找和咨詢后,也總算弄懂了流程圖的含義,并努力寫了出來。五、 認識、感想、建議:六、 參考資料:精通JavaJDK、數(shù)據(jù)庫系統(tǒng)開發(fā)、Web開發(fā)Java進階教程零起點Java應用編程Java程序設計應用基礎教程七、 附加源程序: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; / 保存當前時間的字符串Font clockFaceFont; /設置顯示時鐘里面的數(shù)字的字體Date currentDate; / 顯示當前時間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); / 設置時鐘窗口大小/ 計算四分之一的圓弧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);/設置時鐘的表盤的中心點為(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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論