時鐘與日歷課程設(shè)計報告_第1頁
時鐘與日歷課程設(shè)計報告_第2頁
時鐘與日歷課程設(shè)計報告_第3頁
時鐘與日歷課程設(shè)計報告_第4頁
時鐘與日歷課程設(shè)計報告_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

報告編號:第六組綜合課程設(shè)計報告時鐘與日歷系統(tǒng)的設(shè)計與實現(xiàn)學(xué)生姓名:指導(dǎo)教師:所在系:電子信息系所學(xué)專業(yè):計算機(jī)科學(xué)與技術(shù)年級:2023年12月目錄第1章前言 11.1系統(tǒng)前景 11.2系統(tǒng)重要功能 1第2章需求分析 2第3章概要設(shè)計 33.1主界面模塊 33.2時鐘模塊 33.3日歷模塊 5第4章具體設(shè)計 64.1主界面 64.2日歷部分 74.3時鐘部分 10第5章系統(tǒng)測試 12第6章小結(jié) 16參考文獻(xiàn) 16附錄 17摘要針對用戶對日歷與時間的系統(tǒng)規(guī)定,本應(yīng)用軟件運用java語言編寫,在swing組件中通過程序的編寫,實現(xiàn)了基本的時鐘和日歷功能,本應(yīng)用軟件中的時鐘時間以所在電腦的系統(tǒng)時間為準(zhǔn),用戶可在修改時間的界面中修改系統(tǒng)時間來調(diào)整時鐘的指向。日歷中可以通過單擊日歷中的數(shù)字實現(xiàn)時間的修改。時鐘部分可以在動態(tài)顯示數(shù)字鐘和圖形鐘,并且兩個互相不影響。修改時鐘的時間的時候修改的是本操作系統(tǒng)的時間。本系統(tǒng)中多次運用到了線程機(jī)制??梢暬鹘缑胬锩嫣砑恿藘蓚€panel,分別放時間和日期的板塊。關(guān)鍵字:swing組件時鐘日歷多線程可視化界面第1章前言1.1系統(tǒng)前景隨著社會的發(fā)展,時間在人的生活中扮演著越來越重要的角色,本系統(tǒng)用JAVA實現(xiàn)的日歷和時間的顯示更新。現(xiàn)在大部分JAVA寫的程序時時鐘和日歷分開的并且無法改變時間,本系統(tǒng)把時間里面的日歷和時鐘整合在了一塊,并且實現(xiàn)了對時間的修改。Java是一個面向?qū)ο蟮某绦蛟O(shè)計語言,可以讓我們更好的掌握面向?qū)ο笏枷虢鉀Q實際問題的能力。Java擁有龐大的API,其中java.lang包下的80%的類都是我們必須純熟掌握的,尚有其他如:java.awt包,java.math包等等,AWT的基本內(nèi)容,涉及各種組件事件、監(jiān)聽器、布局管理器、常用組件、打印,尚有Swing組件的基本內(nèi)容等。運用這些強大的API我們可以開發(fā)出很多的應(yīng)用程序。當(dāng)然,java的優(yōu)勢在網(wǎng)絡(luò)編程上,但那不等于java在桌面應(yīng)用程序這一塊不可以,java的思想照樣可以做到,甚至更好。1.2系統(tǒng)重要功能(1)本系統(tǒng)實現(xiàn)了對日期和時間的顯示。(2)本系統(tǒng)可以根據(jù)自己輸入來改變計算機(jī)系統(tǒng)時間。(3)本系統(tǒng)可以用時鐘盤實現(xiàn)時間的動態(tài)顯示。(4)本系統(tǒng)的開發(fā)語言是當(dāng)下比較流行的JAVA語言開發(fā)。第2章需求分析本系統(tǒng)為時鐘與日歷系統(tǒng)的設(shè)計與實現(xiàn),可供用戶對當(dāng)天的日期與時間的查詢,也可以對其進(jìn)行修改。當(dāng)用戶修改時間時,若不符合實際情況,則會提醒格式錯誤,而修改日期時,用戶可通過按鍵上下翻查也可點擊界面中的日期顯示,點擊Enter按鍵便修改成功。本系統(tǒng)實現(xiàn)以下功能:(1)系統(tǒng)有兩個部分,左邊顯示的是日期,右邊顯示的時間。日期部分是一臺歷形式顯示,時間部分涉及圖形鐘和數(shù)字鐘。(2)圖形鐘是根據(jù)部分是本地系統(tǒng)時間為準(zhǔn),即圖形鐘各指針的指向和圖形效果是根據(jù)本地系統(tǒng)時間而定。(3)數(shù)字鐘的顯示以本地系統(tǒng)時間而定,每秒跳動一次,本地系統(tǒng)時間改變的同時數(shù)字鐘的時,分,秒也隨著改變。(4)日歷部分,單擊數(shù)字可以根據(jù)點中的數(shù)字來改變當(dāng)前天。(5)可以單擊年份的上下箭頭來改變年。(6)可以單擊月份的上下箭頭來改變月份。(7)系統(tǒng)允許用戶輸入時間來改變數(shù)字鐘和圖形鐘的顯示改變數(shù)字鐘和圖形鐘的同時可以改變本地系統(tǒng)時間。第3章概要設(shè)計3.1主界面模塊設(shè)計時鐘與日歷系統(tǒng)的主界面,分為三部分:(1)菜單欄的設(shè)計;(2)左邊JPanel放置日歷;(3)右邊JPanel放置時鐘。日歷的實現(xiàn)日歷的實現(xiàn)時鐘的實現(xiàn)結(jié)束開始主界面的實現(xiàn)3.1主界面流程圖3.2時鐘模塊(1)時鐘初始化模塊類名為Clock,一方面在構(gòu)造函數(shù)中初始化Clock,創(chuàng)建一個時間計數(shù)器,每一秒觸發(fā)一次。然后實現(xiàn)函數(shù)setCurrentTime(),此函數(shù)用來設(shè)立當(dāng)前時間,分別得到小時、分鐘、秒數(shù)。再實現(xiàn)另一函數(shù)paintComponent(Graphicsg),在此函數(shù)中先初始化始終參數(shù)和畫時鐘框架,再根據(jù)數(shù)學(xué)知識計算畫出表盤一圈刻度(60個),接著畫出數(shù)字12、9、6、3,最后由圓心為起點,分別畫出時、分、秒針。

開始開始構(gòu)造函數(shù)初始化取得系統(tǒng)當(dāng)時時間畫出表盤輪廓添加4個數(shù)字3,6,9,12根據(jù)時間分別畫時、分、秒針結(jié)束3.2時鐘初始化流程圖(2)時鐘修改模塊否否否是是開始是否要修改時間輸入時間格式是否對的將新時間設(shè)為系統(tǒng)時間修改成功退出3.3時鐘修改流程圖3.3日歷模塊JPanel名為Main,一方面在構(gòu)造函數(shù)將JPanel中的日期顯示,月份(Month),年份(Year)JTextFiel和按鈕(MonthUp,MonthDown,YearUp,YearDown)布局寫好,為JTextField添加MouseListener和KeyListener,每次執(zhí)行監(jiān)聽事件時,日期的顯示刷新一次(實現(xiàn)函數(shù)為showDate(),showDays(),showMonth(),showYear())。否否是開始初始化星期數(shù),放JPanelDay中在Main中,用Mouse類實現(xiàn)上下鍵改變?nèi)掌趯?dāng)天日期放于Main中在JPanelDay中,用Mouse類和Key類實現(xiàn)日期改變是否改變?nèi)掌贓nter擬定修改結(jié)束2.4日歷流程圖第4章具體設(shè)計4.1主界面程序?qū)崿F(xiàn)過程:用戶可視化界面拖拽出主窗口,在構(gòu)造函數(shù)中定義Calendar對象添加到JPanel定義Clock對象把圖形中添加到右邊JPanel中。在JMenuBar菜單欄中的統(tǒng)按鍵添加ActionListener,退出程序。在JMenuBar菜單欄中的幫助按鍵添加相應(yīng)的窗口。開始開始構(gòu)造主類MainFrame()在swing組件的可視化窗口里拖拽出窗口自動生成構(gòu)造函數(shù)在JMenuBar菜單欄中的系統(tǒng)按鍵添加ActionListener,退出軟件在JMenuBar菜單欄中的幫助按鍵添加相應(yīng)的窗口創(chuàng)建時鐘Clock的一個對象放入窗口的右邊JPanel中結(jié)束創(chuàng)建日歷Calendar的一個對象入主窗口的左邊的JPanel中4.1主界面流程圖4.2日歷部分4.2Main組成圖4.3Days組成圖鼠標(biāo)點擊或按回車鍵,上圖中的out,month,year,day上的日期信息更新鼠標(biāo)點擊或按回車鍵,上圖中的out,month,year,day上的日期信息更新鼠標(biāo)點擊按鈕,上圖中的out,year的日期信息更新鼠標(biāo)點擊安就,上圖中的out,year的日期信息更新鼠標(biāo)點擊按鈕,上圖中out,month,year,day上的日期信息更新鼠標(biāo)點擊按鈕,上圖中的out,month,的日期更新鼠標(biāo)點擊按鈕,上圖中out,month的日期更新添加鼠標(biāo)鍵盤監(jiān)聽器添加按鈕監(jiān)聽器添加按鈕監(jiān)聽器添加鼠標(biāo)鍵盤監(jiān)聽器添加按鈕監(jiān)聽器添加按鈕監(jiān)聽器Year(JTextField)YearUp(按鈕)YearDown(按鈕)Month(JTextField)MonthUp(按鈕)MonthDown(按鈕)Main(JPanel)Out(JLabel)JPaenlYear(年份)JPanelMonth(月份)4.4日歷總流程說明:監(jiān)聽程序執(zhí)行時,調(diào)用showDate(),showDays(),shwMonth(),showYear()函數(shù)對具體日期進(jìn)行刷新。4.5日歷修改對比效果圖month中日期month中日期更新函數(shù)是是否初始化本月天數(shù)n閏年2月?n加1每周第一天前的按鈕?i=0按鈕day[i]文字之置空,不可選擇,更改,i++本月日期按鈕添加相應(yīng)d按鈕可編輯假如d的值和獲取系統(tǒng)天數(shù)相應(yīng)則可選擇,否則不可選擇,i++d=1d<n?結(jié)束d++i<42?否否是否4.6日歷修改流程圖4.7日期顯示年月的修改說明:showDate()函數(shù)用于刷新上圖中out日期的顯示,當(dāng)year,month和日期改變時,out調(diào)用showDate()函數(shù),此函數(shù)直接取當(dāng)前系統(tǒng)日期賦給out,showMonth(),showYear()實現(xiàn)的核心函數(shù)。否否敲擊鍵盤鼠標(biāo)時年月刷新改變函數(shù)(inputMonth(),inputYear())創(chuàng)建新字符串sYear(month)以年(月)結(jié)尾?將從year(month)中取得的值賦給S將從year(month)中字串的長度減1賦給s是將s字符串轉(zhuǎn)換為正數(shù)賦給月份,年份4.8年月修改流程圖4.3時鐘部分(1)時鐘顯示部分開始開始此類繼承接口線程Runnable類中共有三個函數(shù),構(gòu)造函數(shù)、run()和paint()構(gòu)造函數(shù)初始化,設(shè)立其大小、背景和位置在paint()中先初始化時鐘參數(shù),設(shè)立其表盤的中心和半徑大小用g.drawOval()函數(shù)畫出表盤一圈框架,設(shè)立其顏色用循環(huán)結(jié)構(gòu)來實現(xiàn)表盤外圈60個綠點(一圈360度平均分為60部分,每60度畫一點)按實際情況畫出表盤上12、9、6、3的數(shù)字從系統(tǒng)中得到當(dāng)前的時間time根據(jù)time從圓心依次用drawLine()畫出時、分及秒針在線程函數(shù)run()中實現(xiàn)從系統(tǒng)取時間,反映在表盤上每隔一秒重新調(diào)用repaint()函數(shù)畫時鐘程序結(jié)束4.9時鐘流程圖類名為Clock,繼承接口線程Runnable和事件ActionListener,一方面在構(gòu)造函數(shù)中初始化Clock,設(shè)立其大小、背景和位置。然后實現(xiàn)函數(shù)paint(),在此函數(shù)中先初始化時鐘參數(shù),設(shè)立其表盤的中心和半徑大小,緊接著畫出表盤框架,再循環(huán)60次將表盤外一圈用綠色的點平均分為60部分,最后畫出12、9、6、3四個數(shù)字以及時、分和秒針。在函數(shù)run()中實現(xiàn)線程作用,將系統(tǒng)時間反映在時鐘的表盤上。(2)時間修改部分否否是否是開始判斷用戶輸入時間,是否滿足0<=小時<=23,0<=分鐘<=59,0<=秒<=59修改系統(tǒng)時間,提醒“修改成功”關(guān)閉退出提醒“格式錯誤”用戶是否需要修改時間4.10時間修改流程圖點擊主界面的操作按鍵下的修改時間,進(jìn)入修改界面,修改界面中當(dāng)前時間顯示系統(tǒng)時間,修改時間,點擊“擬定”,假如輸入的串符合時間格式,則轉(zhuǎn)換為整形,修改系統(tǒng)時間并提醒“修改成功”,否則提醒“格式錯誤”,點擊“取消”,退出該界面。第5章系統(tǒng)測試5.1系統(tǒng)效果圖整個程序運營以后出現(xiàn)如圖5.1的界面。5.2修改時間窗口效果圖單擊操作-〉修改時間彈出如圖5.2所示界面5.3數(shù)字鐘效果圖主界面中出現(xiàn)數(shù)字時鐘如圖5.3所示45.4沒加入時鐘日歷效果圖。沒有加入時鐘日歷的主界面如圖5.4所示5.5時鐘效果圖程序運營后圖形時鐘顯示如圖5.5所示。5.6日歷效果圖程序運營后日歷顯示如圖5.6所示。5.7日期部分使用說明圖打開系統(tǒng)時,出現(xiàn)的便是系統(tǒng)當(dāng)時的日期與時間,日歷中可通過圖中箭頭所指的地方1來查詢?nèi)掌谒鄳?yīng)的年月日,也可通過圖中箭頭所指的地方2來查詢。鼠標(biāo)單擊日歷中的數(shù)字日期下面的日會隨之改變,此外單擊“

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論