版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 編號(hào): </b></p><p> 《面向?qū)ο蟪绦蛟O(shè)計(jì)(JAVA)》</p><p> 課程設(shè)計(jì)(論文)檔案</p><p> 題 目: </p><p> 學(xué) 院: </p>&l
2、t;p> 專 業(yè): </p><p> 姓 名: </p><p> 學(xué) 號(hào): </p><p> 班 級(jí): </p><p> 指導(dǎo)教師:
3、 </p><p> 職 稱: </p><p> 完成日期: </p><p> 《面向?qū)ο蟪绦蛟O(shè)計(jì)(JAVA)》</p><p><b> 課程設(shè)計(jì)論文 </b></p><p> 題 目:
4、 </p><p> 學(xué) 院: </p><p> 專 業(yè): </p><p> 姓 名: </p><p>
5、 學(xué) 號(hào): </p><p> 班 級(jí): </p><p> 指導(dǎo)教師: </p><p> 職 稱: </p&
6、gt;<p> 完成日期: </p><p><b> 摘 要</b></p><p> 本課程設(shè)計(jì)通過代碼實(shí)現(xiàn)將理論知識(shí)和具體實(shí)踐相結(jié)合,鞏固提高了對(duì)JAVA的相關(guān)方法和概念的理解,使學(xué)生的發(fā)散思維及動(dòng)手能力進(jìn)一步加強(qiáng),加強(qiáng)對(duì)計(jì)算機(jī)及軟件工程的進(jìn)一步了解。</p><p&
7、gt; 在本案例中,我們開發(fā)了一個(gè)實(shí)現(xiàn)日歷標(biāo)記的記事本軟件,日歷記事本面板由日歷和記事本兩部分組成,日歷部分可以調(diào)節(jié)年份,月份,日期,星期。記事本可以實(shí)行查看,保存,刪除等操作,并且每一步操作都有相應(yīng)的提示。本軟件是一個(gè)實(shí)用性很強(qiáng),簡(jiǎn)潔方便的功能軟件。</p><p> 【關(guān)鍵字】JAVA 日歷記事本 課程設(shè)計(jì)</p><p><b> Abstract</b>
8、</p><p> The curriculum design through the code to achieve the theoretical knowledge and practice, improve the methods of JAVA and the understanding of the concept, so that the students' divergent think
9、ing and practical ability to further strengthen, strengthen the further understanding of computer and software engineering.</p><p> In this case, we develop a realization of the calendar markers Notepad sof
10、tware, calendar and notepad calendar Notepad panel is composed of two parts, part can adjust the calendar year, month, date, week. Notepad can implement to view, save, or delete operation, and every step of the operation
11、 has a corresponding prompt. This software is a very practical, simple and convenient software.</p><p> 在本案例中,我們開發(fā)了一個(gè)實(shí)現(xiàn)日歷標(biāo)記的記事本軟件,日歷記事本面板由日歷和記事本兩部分組成,日歷部分可以調(diào)節(jié)年份,月份,日期,星期。記事本可以實(shí)行查看,保存,刪除等操作,并且每一步操作都有相應(yīng)的提示。本軟
12、件是一個(gè)實(shí)用性很強(qiáng),簡(jiǎn)潔方便的功能軟件</p><p> 【Key words】JAVA;Calendar Notepad;Curriculum design ; </p><p><b> 目錄</b></p><p><b> 1系統(tǒng)需求分析1</b></p><p> 1.1
13、60;系統(tǒng)目標(biāo)1</p><p> 1.2 需求分析1</p><p> 1.3 主體功能1</p><p> 1.4 開發(fā)環(huán)境1</p><p><b> 2概要設(shè)計(jì).2</b></p><p><b> 2.1設(shè)計(jì)要求2</b>&
14、lt;/p><p><b> 3詳細(xì)設(shè)計(jì)4</b></p><p> 3.1日歷記事本模塊5</p><p><b> 3.2系統(tǒng)測(cè)試6</b></p><p><b> 4.系統(tǒng)運(yùn)行7</b></p><p> 4.1 測(cè)試方案
15、7</p><p> 4.2 測(cè)試結(jié)果7</p><p><b> 5總結(jié)9</b></p><p><b> 參考文獻(xiàn)10</b></p><p><b> 致謝11</b></p><p><b> 附錄:源代
16、碼12</b></p><p> 1.日歷記事本系統(tǒng)主面板與日歷板模塊(CalendarPad.java)18</p><p> 2.日歷記事本系統(tǒng)年設(shè)置模塊(Year.java)23</p><p> 3.日歷記事本系統(tǒng)月設(shè)置模塊(Month.java)26</p><p> 4.日歷記事本系統(tǒng)記事本模塊(Not
17、ePad.java)28</p><p><b> 1 系統(tǒng)需求分析 </b></p><p><b> 1.1 系統(tǒng)目標(biāo) </b></p><p> 1.系統(tǒng)界面的左側(cè)是日歷。該日歷可以按年份前后翻動(dòng),鼠標(biāo)單擊“上年”按鈕時(shí),當(dāng)前日歷的年份減一;當(dāng)鼠標(biāo)左鍵單擊“下年”按鈕,當(dāng)前日歷的
18、年份加一。 </p><p> 2.該日歷也可以在某年內(nèi)按月前后翻動(dòng)。當(dāng)鼠標(biāo)左鍵單擊“上月”按鈕時(shí),當(dāng)前日歷的月份減一;當(dāng)鼠標(biāo)左鍵單擊“下月”按鈕時(shí),當(dāng)前日歷的月份加一。 </p><p> 3.使用鼠標(biāo)左鍵單擊選定的日期,如已有記錄內(nèi)容,系統(tǒng)將彈出對(duì)話框提示該日已有記錄內(nèi)容,并詢問用戶是否用記事本顯示該內(nèi)容。 </p><p>
19、 4.用戶選擇具體日期后,可以將記事本的當(dāng)前內(nèi)容保存起來,形成日志。</p><p><b> 1.2 需求分析 </b></p><p> 隨著社會(huì)的發(fā)展,越來越多的人依靠電子產(chǎn)品生活,而他們的日常工作也是離不開這些電子產(chǎn)品的,所以開發(fā)出一款日歷備忘錄就顯得必不可少了。日歷記事本可以方便地在任何日期記錄下有關(guān)內(nèi)容或查看某個(gè)日期的記錄內(nèi)容。通過按按鈕“上年”和“下
20、年”對(duì)年份進(jìn)行翻頁。通過按按鈕“上月”和“下月”對(duì)月份進(jìn)行翻頁。用戶可以通過輸入年份來查看自己的日志 </p><p><b> 1.3 主體功能 </b></p><p> 用戶可以方便地在任何日期記錄下有關(guān)內(nèi)容或查看某個(gè)日期的記錄容。 通過按按鈕“上年”和“下年”對(duì)年份進(jìn)行翻頁。通過按按鈕“上月”和“月對(duì)月份
21、進(jìn)行翻頁。用戶可以通過輸入年份來查看自己的日志。</p><p><b> 1.4 開發(fā)環(huán)境 </b></p><p> Windows XP;Eclipse開發(fā)工具 。</p><p><b> 2概要設(shè)計(jì).</b></p><p><b> 2.1
22、設(shè)計(jì)要求 </b></p><p> 1.系統(tǒng)界面的左側(cè)是日歷。該日歷可以按年份前后翻動(dòng),鼠標(biāo)單擊“上年”按鈕時(shí),當(dāng)前日歷的年份減一;當(dāng)鼠標(biāo)左鍵單擊“下年”按鈕,當(dāng)前日歷的年份加一。 </p><p> 2.該日歷也可以在某年內(nèi)按月前后翻動(dòng)。鼠標(biāo)單擊“上月”按鈕時(shí),當(dāng)前日歷的月份減一;當(dāng)鼠標(biāo)左鍵單擊“下月”按鈕,當(dāng)前日歷表的月份加一。 <
23、/p><p> 3.使用鼠標(biāo)左鍵單擊選定的日期,如已有記錄內(nèi)容,系統(tǒng)將彈出對(duì)話框提示該日歷已有記錄內(nèi)容,并詢問用戶是否用記事本顯示該內(nèi)容。 </p><p> 4.用戶選擇具體日期后,可以將記事本的當(dāng)前內(nèi)容保存起來,形成日志。</p><p><b> 1.功能圖</b></p><p><b>
24、 2.流程圖</b></p><p><b> 3. 類圖</b></p><p><b> 3詳細(xì)設(shè)計(jì)</b></p><p> 表1 日歷記事本系統(tǒng)主面板與日歷板模塊(CalendarPad.java)</p><p> 表2 日歷記事本系統(tǒng)年設(shè)置模塊(Year.java)&
25、lt;/p><p> 表3 日歷記事本系統(tǒng)月設(shè)置模塊(Month.java)</p><p> 表4 日歷記事本系統(tǒng)記事本模塊(NotePad.java)</p><p> 3.1日歷記事本模塊</p><p> 1.日歷記事本系統(tǒng)主面板與日歷板模塊(CalendarPad.java)</p><p> 該模塊設(shè)
26、計(jì)主要主要包含以下成員變量:</p><p><b> 年(year)</b></p><p><b> 月(month)</b></p><p><b> 日(day)</b></p><p> 存放日期的表(Hashtable)</p><p&g
27、t; 存放日志的文件(File)</p><p><b> 主要方法有:</b></p><p> 創(chuàng)建程序主面板的構(gòu)造方法(CalendarPad)</p><p> 處理ActionEvent事件的接口方法(actionPerformed)</p><p> 程序開始運(yùn)行的main()方法。</p&g
28、t;<p> 在具體設(shè)計(jì)過程中,首先,基本功能和組件的創(chuàng)建;然后,創(chuàng)建構(gòu)造方法,這一部分包括:為各個(gè)功能創(chuàng)建監(jiān)聽事件,創(chuàng)建程序主面板以及日歷面板.添加關(guān)閉窗口方法;第三步分為創(chuàng)建監(jiān)聽方法,實(shí)現(xiàn)對(duì)各個(gè)功能模塊的操作,以及鼠標(biāo)點(diǎn)擊實(shí)現(xiàn)進(jìn)入相應(yīng)的功能面板;最后創(chuàng)建相應(yīng)的main()方法。</p><p> 2.日歷記事本系統(tǒng)年設(shè)置模塊(Year.java)</p><p>
29、該模塊用于實(shí)現(xiàn)日歷記事本系統(tǒng)中關(guān)于年的設(shè)置,模塊中包含的主要成員變量有用于改變年的按鈕(Jbutton 明年 去年),顯示年的文本框(JTextField)。模塊中包含的主要方法有用于設(shè)置年的方法(setYear),用于獲取年的方法(getYear)和處理ActionEvent事件的接口方法(actionPerformed)等在具體設(shè)計(jì)過程中,首先,顯示年的文本框、按鈕、文件列表、區(qū)域的創(chuàng)建和初始化;然后創(chuàng)建構(gòu)造方法,實(shí)現(xiàn)以上信息和組件
30、的實(shí)體化,下一步實(shí)現(xiàn)接口監(jiān)聽,創(chuàng)建監(jiān)聽方法,通過以上方法可以實(shí)現(xiàn)年設(shè)置模塊的基本功能實(shí)現(xiàn)。</p><p> 3.日歷記事本系統(tǒng)月設(shè)置模塊(Month.java)</p><p> 該模塊用于實(shí)現(xiàn)日歷記事本系統(tǒng)中關(guān)于月的設(shè)置,模塊中包含的主要成員變量有用于改變?cè)碌陌粹o(Jbutton 上月 下月),顯示月的文本框(JTextField)。模塊中包含的主要方法有用于設(shè)置月的方法(setM
31、onth),用于獲取月的方法(getMonth)和處理ActionEvent事件的接口方法(actionPerformed)等</p><p> 在具體設(shè)計(jì)過程中與年設(shè)置大體上相近,首先,顯示年的文本框、按鈕,文件列表、區(qū)域的創(chuàng)建和初始化;然后創(chuàng)建構(gòu)造方法,實(shí)現(xiàn)以上信息和組件的實(shí)體化,下一步實(shí)現(xiàn)接口監(jiān)聽,創(chuàng)建監(jiān)聽方法,通過以上方法可以實(shí)現(xiàn)年設(shè)置模塊的基本功能實(shí)現(xiàn)。</p><p> 4
32、.日歷記事本系統(tǒng)記事本模塊(NotePad.java)</p><p> 該模塊中包含的主要成員變量有文本框(JTextArea),按鈕(JButton 保存日志 刪除日志),用于存放日志記錄的文件(File)以及響應(yīng)相關(guān)操作的信息提示(JLabel)。該模塊中包含的主要方法有設(shè)置信息條,設(shè)置文本區(qū),獲取日志內(nèi)容,保存日志,刪除日志</p><p> 在具體設(shè)計(jì)過程中首先,將記事本模塊
33、中的文本框、按鈕創(chuàng)建和初始化;然后創(chuàng)建構(gòu)造方法,實(shí)現(xiàn)以上信息和組件的實(shí)體化,實(shí)現(xiàn)接口監(jiān)聽,創(chuàng)建監(jiān)聽方法,選擇日期時(shí)若記事本系統(tǒng)中已經(jīng)存在記錄,則彈出提示,詢問是否查看;若不存在記錄,則可以保存日志;對(duì)存在的日志使用刪除日志功能時(shí)會(huì)彈出提示是否刪除日志,選是即刪除日志,選否即可返回.以上即實(shí)現(xiàn)學(xué)生基本信息模塊的基本功能實(shí)現(xiàn)。</p><p><b> 3.2系統(tǒng)測(cè)試</b></p>
34、;<p> 編寫程序代碼,完成后對(duì)各個(gè)模塊逐一編譯查找問題.測(cè)試過程中出現(xiàn)問題大多是編寫代碼時(shí)出現(xiàn)的手誤,沒有語法和邏輯上的錯(cuò)誤.多次根據(jù)編譯器所提示的問題在代碼中逐一修改后改正了所有出現(xiàn)的問題.</p><p><b> 4系統(tǒng)運(yùn)行</b></p><p><b> 4.1 測(cè)試方案 </b></p
35、><p> 1.打開主界面,鼠標(biāo)左鍵右擊,查看日歷界面。 </p><p> 2.選定一個(gè)日期寫日志。</p><p> 3.對(duì)日歷添加、刪除日志。 </p><p> 4.修改年份,查看一些日志。 </p><p><b> 4.2 測(cè)試結(jié)果 <
36、/b></p><p> 1.打開主界面,鼠標(biāo)左鍵點(diǎn)擊,查看日歷界面。如圖程序主界面</p><p> 圖1 日歷記事本系統(tǒng)主界面</p><p><b> 2.保存日志</b></p><p><b> 圖2 保存日志界面</b></p><p><b&
37、gt; 3.刪除日志</b></p><p><b> 圖3 刪除日志界面</b></p><p><b> 5總結(jié)</b></p><p> 經(jīng)過這一次的設(shè)計(jì),總體來說收獲還是不小。剛剛開始學(xué)習(xí)Java語言的時(shí)候也曾經(jīng)想過利用所學(xué)的知識(shí)來做些真東西。之前用過C語言編寫過一些程序,但C語言與Java之前
38、差異比較大,而Java語言對(duì)我來說是個(gè)新事物,對(duì)Java了解不是十分深刻,用起來也不能得心應(yīng)手。但是此次的設(shè)計(jì)讓我對(duì)Java有了更深刻的認(rèn)識(shí)和了解,通過親手編寫Java程序不僅大大的提高了我的動(dòng)手能力,更讓我從更深一層來了解Java語言。盡管如此,但Java中可發(fā)掘的東西太多了,一個(gè)小小的程序不可能將全部的內(nèi)容都展現(xiàn)出來。因此對(duì)Java,我依然還有許多不明白的地方。這將在之后的學(xué)習(xí)中進(jìn)行更深層次的學(xué)習(xí)。</p><p
39、> 通過這次的課程設(shè)計(jì),基本上將書本上的知識(shí)運(yùn)用到實(shí)踐上,從而進(jìn)一步鞏固和豐富所學(xué)知識(shí),也讓我更加深層次的認(rèn)識(shí)了java及其功能的強(qiáng)大。為了更好地完成這次課程設(shè)計(jì),我做了很多準(zhǔn)備,上網(wǎng)查閱資料,到圖書館翻閱書籍。這個(gè)過程中也鍛煉了我的思維分析、遇到問題及想法設(shè)法通過各種途徑解決問題的能力。 </p><p> 從理論到實(shí)踐,在整整幾天的時(shí)間里,可以說,是苦大于甜,但確實(shí)學(xué)到很多東西,同時(shí)不僅鞏
40、固了以前的知識(shí),而且學(xué)到了許多書上學(xué)不到的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)踐相結(jié)合是很重要的,只有理論知識(shí)是不夠的,只有把所學(xué)的理論知識(shí)和實(shí)踐結(jié)合起來,從理論中得出結(jié)論,才能真正服務(wù)社會(huì),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考能力。通過這次課程設(shè)計(jì),了解到了自己的不足之處,對(duì)以前的知識(shí)沒有掌握到位,所以我們一定要學(xué)好理論知識(shí),為以后的實(shí)踐打下基礎(chǔ)。總而言之,這次課程設(shè)計(jì)我學(xué)到了很多</p><p><
41、b> 參考文獻(xiàn)</b></p><p> [1] 耿祥義編著. 2009《JAVA大學(xué)實(shí)用教程》[M].北京:清華大學(xué)出版社。</p><p> [2] 耿祥義,張躍平編著.2011《Java課程設(shè)計(jì)(第二版)》[M].北京:清華大學(xué)出版社。</p><p> [3] 王鵬,何昀峰編著. 2008《Java圖形界面開發(fā)》[M].北
42、京:清華大學(xué)出版社。</p><p> [4] 劉萬軍,鄭少京編著. 2009. 《Java課程設(shè)計(jì)實(shí)踐教程》[M]清華大學(xué)出版社。</p><p> [5]Jacquie Barker編著2001《Java面向?qū)ο缶幊讨改稀穂M]電子工業(yè)出版社。</p><p> [6]呂鳳翥,馬皓編著.2011《Java語言程序設(shè)計(jì)(第二版)
43、》[M]清華大學(xué)出版社。</p><p> [7]張躍平編著. 2004 .《Java實(shí)用教程實(shí)驗(yàn)指導(dǎo)與習(xí)題解答(第三版)》[M]. 北京:清華大學(xué)出版社。</p><p><b> 致謝</b></p><p> 本設(shè)計(jì)是在xx老師的悉心指導(dǎo)下完成的,老師淵博的知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的工作作風(fēng),平
44、易近人的性格都是我學(xué)習(xí)的楷模。在論文的研究及整理期間,老師給了我很大的支持和鼓勵(lì),才使得課程設(shè)計(jì)得以順利的完成,在此謹(jǐn)向?qū)煴硎局倚牡母兄x和崇高的敬意。在本次畢業(yè)設(shè)計(jì)中,我從XX老師身上學(xué)到了很多東西。X老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神都使我受益非淺。X老師無論在理論上還是在實(shí)踐中都給了我很大的幫助,使我的綜合技能有了很大的提高。X老師耐心細(xì)致的輔導(dǎo),不僅僅教給了我所學(xué)習(xí)的專業(yè)技術(shù)方面的知識(shí),更多的教會(huì)了我獨(dú)立思考,分析問題解決問
45、題的方法,拓寬了我的思維方式。這對(duì)于我以后的工作和學(xué)習(xí)都是一種莫大的幫助,非常感謝XX老師。</p><p> 同時(shí)感謝學(xué)校,給我們提供了實(shí)訓(xùn)的教室和設(shè)備,提供了很大的方便。感謝班上的同學(xué),在做課程設(shè)計(jì)期間,他們不僅在學(xué)習(xí)上對(duì)我有很大的幫助,還在生活上提供方便。我和他們相處的是非常愉快的。他們也給了我很大的支持和幫助。</p><p><b> 附錄:源代碼</b&g
46、t;</p><p> 1.日歷記事本系統(tǒng)主面板與日歷板模塊(CalendarPad.java)</p><p> import java.util.Calendar;</p><p> import javax.swing.*;</p><p> import java.awt.*;</p><p> im
47、port java.awt.event.*;</p><p> import java.io.*;</p><p> import java.util.Hashtable;</p><p> public class CalendarPad extends JFrame implements MouseListener</p><p>
48、<b> {</b></p><p> int year,month,day;</p><p> Hashtable hashtable; </p><p> File file;</p><p> JTextField showDay[];</p><p> JLabel title
49、[];</p><p> Calendar 日歷;</p><p><b> int 星期幾; </b></p><p> NotePad notepad=null;</p><p> Month 負(fù)責(zé)改變?cè)?</p><p> Year 負(fù)責(zé)改變年;</p><p&
50、gt; String 星期[]={"SUN","MON","TUE","WED","THU","FRI","SAT"};</p><p> JPanel leftPanel,rightPanel;</p><p> public Calendar
51、Pad(int year,int month,int day)</p><p><b> {</b></p><p> leftPanel=new JPanel();</p><p> JPanel leftCenter=new JPanel();</p><p> JPanel leftNorth=new JP
52、anel();</p><p> leftCenter.setLayout(new GridLayout(7,7));</p><p> rightPanel=new JPanel();</p><p> this.year=year;</p><p> this.month=month;</p><p>
53、this.day=day;</p><p> 負(fù)責(zé)改變年=new Year(this);</p><p> 負(fù)責(zé)改變年.setYear(year);</p><p> 負(fù)責(zé)改變?cè)?new Month(this);</p><p> 負(fù)責(zé)改變?cè)?setMonth(month);</p><p> title=n
54、ew JLabel[7];</p><p> showDay=new JTextField[42];</p><p> for(int j=0;j<7;j++)</p><p><b> {</b></p><p> title[j]=new JLabel();</p><p>
55、title[j].setText(星期[j]);</p><p> title[j].setBorder(BorderFactory.createRaisedBevelBorder());</p><p> leftCenter.add(title[j]);</p><p><b> }</b></p><p>
56、 title[0].setForeground(Color.red);</p><p> title[6].setForeground(Color.blue);</p><p> for(int i=0;i<42;i++)</p><p><b> {</b></p><p> showDay[i]=new
57、 JTextField();</p><p> showDay[i].addMouseListener(this);</p><p> showDay[i].setEditable(false);</p><p> leftCenter.add(showDay[i]);</p><p><b> }</b><
58、;/p><p> 日歷=Calendar.getInstance();</p><p> Box box=Box.createHorizontalBox();</p><p> box.add(負(fù)責(zé)改變年);</p><p> box.add(負(fù)責(zé)改變?cè)?;</p><p> leftNorth.add(box)
59、;</p><p> leftPanel.setLayout(new BorderLayout());</p><p> leftPanel.add(leftNorth,BorderLayout.NORTH);</p><p> leftPanel.add(leftCenter,BorderLayout.CENTER);</p><p>
60、; leftPanel.add(new Label("請(qǐng)?jiān)谀攴葺斎肟蜉斎胨槟攴?負(fù)數(shù)表示公元前),并回車確定"),BorderLayout.SOUTH);</p><p> leftPanel.validate();</p><p> Container con=getContentPane();</p><p> JSplitPane
61、 split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,rightPanel);</p><p> con.add(split,BorderLayout.CENTER);</p><p> con.validate();</p><p> hashtable=new Hashtable();<
62、;/p><p> file=new File("日歷記事本.txt");</p><p> if(!file.exists())</p><p><b> {</b></p><p><b> try</b></p><p><b> {&
63、lt;/b></p><p> FileOutputStream out=new FileOutputStream(file);</p><p> ObjectOutputStream objectOut=new ObjectOutputStream(out);</p><p> objectOut.writeObject(hashtable);<
64、/p><p> objectOut.close();</p><p> out.close();</p><p><b> }</b></p><p> catch(IOException e)</p><p><b> {</b></p><p&g
65、t;<b> }</b></p><p><b> }</b></p><p> notepad=new NotePad(this);</p><p> rightPanel.add(notepad);</p><p> 設(shè)置日歷牌(year,month);</p><
66、p> addWindowListener(new WindowAdapter()</p><p><b> {</b></p><p> public void windowClosing(WindowEvent e)</p><p><b> {</b></p><p> Syst
67、em.exit(0);</p><p><b> }</b></p><p><b> };</b></p><p> setVisible(true);</p><p> setBounds(100,50,524,285);</p><p> validate()
68、;</p><p><b> }</b></p><p> public void 設(shè)置日歷牌(int year,int month)</p><p><b> {</b></p><p> 日歷.set(year,month-1,1);</p><p> 星期幾=
69、日歷.get(Calendar.DAY_OF_WEEK)-1;</p><p> if(month==1||month==2||month==3||month==5||month==7||month==8||month==10||month==12)</p><p><b> {</b></p><p> 排列號(hào)碼(星期幾,31);<
70、;/p><p><b> }</b></p><p> else if(month==4||month==6||month==9||month==11)</p><p><b> {</b></p><p> 排列號(hào)碼(星期幾,30);</p><p><b>
71、 }</b></p><p> else if(month==2)</p><p><b> {</b></p><p> if((year%4==0&&year%100!=0)||(year%400==0))</p><p><b> {</b></p&
72、gt;<p> 排列號(hào)碼(星期幾,29);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> 排列號(hào)碼(星期幾,28);</p><p>&l
73、t;b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> public void 排列號(hào)碼(int 星期幾,int 月天數(shù))</p><p><b> {</b></p><
74、;p> for(int i=星期幾,n=1;i<星期幾+月天數(shù);i++)</p><p><b> {</b></p><p> showDay[i].setText(""+n);</p><p> if(n==day)</p><p><b> {</b>
75、</p><p> showDay[i].setForeground(Color.green);</p><p> showDay[i].setFont(new Font("TimesRoman",Font.BOLD,20));</p><p><b> }</b></p><p><b&
76、gt; else</b></p><p><b> {</b></p><p> showDay[i].setFont(new Font("TimesRoman",Font.BOLD,12));</p><p> showDay[i].setForeground(Color.black);</p&g
77、t;<p><b> }</b></p><p> if(i%7==6)</p><p><b> {</b></p><p> showDay[i].setForeground(Color.blue);</p><p><b> }</b></p
78、><p> if(i%7==0)</p><p><b> {</b></p><p> showDay[i].setForeground(Color.red);</p><p><b> }</b></p><p><b> n++;</b>&l
79、t;/p><p><b> }</b></p><p> for(int i=0;i<星期幾;i++)</p><p><b> {</b></p><p> showDay[i].setText("");</p><p><b>
80、}</b></p><p> for(int i=星期幾+月天數(shù);i<42;i++)</p><p><b> {</b></p><p> showDay[i].setText("");</p><p><b> }</b></p>&l
81、t;p><b> }</b></p><p> public int getYear()</p><p><b> {</b></p><p> return year;</p><p><b> }</b></p><p> publ
82、ic void setYear(int y)</p><p><b> {</b></p><p><b> year=y;</b></p><p> notepad.setYear(year);</p><p><b> }</b></p><p&
83、gt; public int getMonth()</p><p><b> {</b></p><p> return month;</p><p><b> }</b></p><p> public void setMonth(int m)</p><p>&
84、lt;b> {</b></p><p><b> month=m;</b></p><p> notepad.setMonth(month);</p><p><b> }</b></p><p> public int getDay()</p><p
85、><b> {</b></p><p> return day;</p><p><b> }</b></p><p> public void setDay(int d)</p><p><b> {</b></p><p><b
86、> day=d;</b></p><p> notepad.setDay(day);</p><p><b> }</b></p><p> public Hashtable getHashtable()</p><p><b> {</b></p><
87、;p> return hashtable;</p><p><b> }</b></p><p> public File getFile()</p><p><b> {</b></p><p> return file;</p><p><b>
88、 }</b></p><p> public void mousePressed(MouseEvent e)</p><p><b> {</b></p><p> JTextField source=(JTextField)e.getSource();</p><p><b> try&
89、lt;/b></p><p><b> {</b></p><p> day=Integer.parseInt(source.getText());</p><p> notepad.setDay(day);</p><p> notepad.設(shè)置信息條(year,month,day);</p>
90、<p> notepad.設(shè)置文本區(qū)(null);</p><p> notepad.獲取日志內(nèi)容(year,month,day);</p><p><b> }</b></p><p> catch(Exception ee)</p><p><b> {</b></
91、p><p><b> }</b></p><p><b> }</b></p><p> public void mouseClicked(MouseEvent e)</p><p><b> {</b></p><p><b> }&l
92、t;/b></p><p> public void mouseReleased(MouseEvent e)</p><p><b> {</b></p><p><b> }</b></p><p> public void mouseEntered(MouseEvent e)<
93、;/p><p><b> {</b></p><p><b> }</b></p><p> public void mouseExited(MouseEvent e)</p><p><b> {</b></p><p><b> }&
94、lt;/b></p><p> public static void main(String args[])</p><p><b> {</b></p><p> Calendar calendar=Calendar.getInstance();</p><p> int y=calendar.get(C
95、alendar.YEAR);</p><p> int m=calendar.get(Calendar.MONTH)+1;</p><p> int d=calendar.get(Calendar.DAY_OF_MONTH);</p><p> new CalendarPad(y,m,d);</p><p><b> }&l
96、t;/b></p><p><b> }</b></p><p> 2.日歷記事本系統(tǒng)年設(shè)置模塊(Year.java)</p><p><b> 實(shí)現(xiàn)編碼如下:</b></p><p> import javax.swing.*;</p><p> impor
97、t java.awt.*;</p><p> import java.awt.event.*;</p><p> public class Year extends Box implements ActionListener</p><p><b> {</b></p><p><b> int yea
98、r;</b></p><p> JTextField showYear=null;</p><p> JButton 明年,去年;</p><p> CalendarPad 日歷;</p><p> public Year(CalendarPad 日歷)</p><p><b> {&l
99、t;/b></p><p> super(BoxLayout.X_AXIS);</p><p> showYear=new JTextField(4);</p><p> showYear.setForeground(Color.blue);</p><p> showYear.setFont(new Font("Ti
100、mesRomn",Font.BOLD,14));</p><p> this.日歷=日歷;</p><p> year=日歷.getYear();</p><p> 明年=new JButton("下年");</p><p> 去年=new JButton("上年");</p&g
101、t;<p><b> add(去年);</b></p><p> add(showYear);</p><p><b> add(明年);</b></p><p> showYear.addActionListener(this);</p><p> 去年.addAction
102、Listener(this);</p><p> 明年.addActionListener(this);</p><p><b> }</b></p><p> public void setYear(int year)</p><p><b> {</b></p><p
103、> this.year=year;</p><p> showYear.setText(""+year);</p><p><b> }</b></p><p> public int getYear()</p><p><b> {</b></p>
104、<p> return year;</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> if(e.getSource()==去年)&
105、lt;/p><p><b> {</b></p><p> year=year-1;</p><p> showYear.setText(""+year);</p><p> 日歷.setYear(year);</p><p> 日歷.設(shè)置日歷牌(year,日歷.getM
106、onth());</p><p><b> }</b></p><p> else if(e.getSource()==明年)</p><p><b> {</b></p><p> year=year+1;</p><p> showYear.setText(&q
107、uot;"+year);</p><p> 日歷.setYear(year);</p><p> 日歷.設(shè)置日歷牌(year,日歷.getMonth());</p><p><b> }</b></p><p> else if(e.getSource()==showYear)</p>&
108、lt;p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> year=Integer.parseInt(showYear.getText());</p><p> showYear.setTe
109、xt(""+year);</p><p> 日歷.setYear(year);</p><p> 日歷.設(shè)置日歷牌(year,日歷.getMonth());</p><p><b> }</b></p><p> catch(NumberFormatException ee)</p>
110、;<p><b> {</b></p><p> showYear.setText(""+year);</p><p> 日歷.setYear(year);</p><p> 日歷.設(shè)置日歷牌(year,日歷.getMonth());</p><p><b> }&l
111、t;/b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 3.日歷記事本系統(tǒng)月設(shè)置模塊(Month.java)</p><p><b> 實(shí)現(xiàn)
112、編碼如下:</b></p><p> import javax.swing.*;</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> public class Month extends Box implements ActionLi
113、stener</p><p><b> {</b></p><p> int month;</p><p> JTextField showMonth=null;</p><p> JButton 下月,上月;</p><p> CalendarPad 日歷;</p>&l
114、t;p> public Month(CalendarPad 日歷)</p><p><b> {</b></p><p> super(BoxLayout.X_AXIS);</p><p> this.日歷=日歷;</p><p> showMonth=new JTextField(2);</p&g
115、t;<p> month=日歷.getMonth();</p><p> showMonth.setEditable(false);</p><p> showMonth.setForeground(Color.blue);</p><p> showMonth.setFont(new Font("TimesRomn",Fo
116、nt.BOLD,16));</p><p> 下月=new JButton("下月");</p><p> 上月=new JButton("上月");</p><p><b> add(上月);</b></p><p> add(showMonth);</p>
117、<p><b> add(下月);</b></p><p> 上月.addActionListener(this);</p><p> 下月.addActionListener(this);</p><p> showMonth.setText(""+month);</p><p>
118、;<b> }</b></p><p> public void setMonth(int month)</p><p><b> {</b></p><p> if(month<=12&&month>=1)</p><p><b> {</b&
119、gt;</p><p> this.month=month;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> this.month=1;</p>
120、;<p><b> }</b></p><p> showMonth.setText(""+month);</p><p><b> }</b></p><p> public int getMonth()</p><p><b> {</
121、b></p><p> return month;</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> if(e.
122、getSource()==上月)</p><p><b> {</b></p><p> if(month>=2)</p><p><b> {</b></p><p> month=month-1;</p><p> 日歷.setMonth(month);&
123、lt;/p><p> 日歷.設(shè)置日歷牌(日歷.getYear(),month);</p><p><b> }</b></p><p> else if(month==1)</p><p><b> {</b></p><p><b> month=12;&l
124、t;/b></p><p> 日歷.setMonth(month);</p><p> 日歷.設(shè)置日歷牌(日歷.getYear(),month);</p><p><b> }</b></p><p> showMonth.setText(""+month);</p>&l
125、t;p><b> }</b></p><p> else if(e.getSource()==下月)</p><p><b> {</b></p><p> if(month<12)</p><p><b> {</b></p><p&
126、gt; month=month+1;</p><p> 日歷.setMonth(month);</p><p> 日歷.設(shè)置日歷牌(日歷.getYear(),month);</p><p><b> }</b></p><p> else if(month==12)</p><p>&l
127、t;b> {</b></p><p><b> month=1;</b></p><p> 日歷.setMonth(month);</p><p> 日歷.設(shè)置日歷牌(日歷.getYear(),month);</p><p><b> }</b></p>&
128、lt;p> showMonth.setText(""+month);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.日歷記事本系統(tǒng)記事本模塊(NoteP
129、ad.java)</p><p><b> 實(shí)現(xiàn)編碼如下:</b></p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import java.util.*;</p><p> import jav
130、ax.swing.*;</p><p> import javax.swing.event.*;</p><p> import java.io.*;</p><p> public class NotePad extends JPanel implements ActionListener</p><p><b> {&l
131、t;/b></p><p> JTextArea text;</p><p> JButton 保存日志,刪除日志;</p><p> Hashtable table;</p><p> JLabel 信息條;</p><p> int year,month,day;</p><p&
132、gt; File file; </p><p> CalendarPad calendar;</p><p> public NotePad(CalendarPad calendar)</p><p><b> {</b></p><p> this.calendar=calendar;</p>
133、<p> year=calendar.getYear();</p><p> month=calendar.getMonth();</p><p> day=calendar.getDay();</p><p> table=calendar.getHashtable();</p><p> file=calendar.g
134、etFile();</p><p> 信息條=new JLabel(""+year+"年"+month+"月"+day+"日",JLabel.CENTER);</p><p> 信息條.setFont(new Font("TimesRoman",Font.BOLD,16));</p
135、><p> 信息條.setForeground(Color.blue);</p><p> text=new JTextArea(10,10);</p><p> 保存日志=new JButton("保存日志");</p><p> 刪除日志=new JButton("刪除日志");</p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)--日歷記事本
- java課程設(shè)計(jì)日歷記事本
- java課程設(shè)計(jì)--日歷記事本
- 日歷記事本-java課程設(shè)計(jì)
- 日歷記事本java課程設(shè)計(jì)
- 基于java的日歷記事本
- java記事本程序課程設(shè)計(jì)報(bào)告
- 日歷記事本java程序設(shè)計(jì)資料
- java課程設(shè)計(jì)--- 記事本程序設(shè)計(jì)
- 基于java的記事本程序課程設(shè)計(jì)
- java課程設(shè)計(jì)記事本(含代碼)1
- java課程設(shè)計(jì)報(bào)告--實(shí)現(xiàn)記事本功能
- 基于java的記事本程序課程設(shè)計(jì)
- java課程設(shè)計(jì)---設(shè)計(jì)一個(gè)記事本
- java語言課程設(shè)計(jì)---記事本程序設(shè)計(jì)
- java記事本課程設(shè)計(jì)
- 日歷記事本.txt
- java課程設(shè)計(jì)--簡(jiǎn)單記事本程序的設(shè)計(jì)
- 日歷記事本.txt
- java記事本課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論