Java实训——桌面日历
java實(shí)現(xiàn)《桌面日歷》源碼,答辯ppt,實(shí)習(xí)計劃書,實(shí)習(xí)報告下載鏈接
https://download.csdn.net/download/weixin_43042683/86949560?spm=1001.2014.3001.5503
一、綜合訓(xùn)練任務(wù)
設(shè)計日歷記事本要求:帶有日程提醒功能的桌面日歷
(1)顯示信息: 用戶可以向前翻頁查詢上年的日期,也可以向后翻頁查詢下年的日期用戶可以向前翻頁查詢上月的日期,也可以向后翻頁查詢下月的日期。對應(yīng)的農(nóng)歷節(jié)假日和休息日進(jìn)行了紅色標(biāo)記。
(2)定時提醒:用戶可以針對某一天工作需求來添加、編輯這日程提醒信息,當(dāng)系統(tǒng)時間和提醒時間相吻合時,給出具有提示信息的對話框。
二、分析與設(shè)計
開發(fā)工具
本次設(shè)計主要采用eclipse開發(fā)平臺。
界面設(shè)計
一個主面板,然后添加三個面板,分別用于實(shí)現(xiàn)不同的作用,第一個面板是用于設(shè)立各個組件包括按鈕下拉列表,編寫事件以實(shí)現(xiàn)不同的功能。第二個建立了很多標(biāo)簽用于日期的主要顯示,第三個是用來顯示系統(tǒng)時間。在主界面上有記事本按鈕,點(diǎn)擊之后會彈出記事窗口,記事窗口,主要是在一個面板各個標(biāo)簽、按鈕和文本框的組合,主要有添加提醒事件,添加提醒事件。
類之間的關(guān)系
????本項(xiàng)目主要有四個類(MainFrame類、Nowtime類、Lunar類、Notepad類)。MainFrame類用于實(shí)現(xiàn)整個界面布局和中國節(jié)日的輸出。Nowtime類主要實(shí)現(xiàn)系統(tǒng)時間的顯示。Lunar類用于實(shí)現(xiàn)農(nóng)歷和公歷的轉(zhuǎn)換。Notepad類用于實(shí)現(xiàn)記事功能。
?三、詳細(xì)設(shè)計說明
1.MainFrame類
Main 函數(shù):程序的主入口。
日歷界面的布局。繼承Frame類,并實(shí)例CalendarBean類以獲得日歷。在該類中設(shè)置了四個按鈕及其監(jiān)聽器:<<>>:點(diǎn)擊可翻閱上下年的日歷。<>:點(diǎn)擊可翻閱下下月的日歷。兩個下拉列表及其監(jiān)聽器:用戶通過在下拉列表中選擇年份及月份即可查看對應(yīng)的日歷。記事本:點(diǎn)擊可添加一項(xiàng)需要提醒的事件以及提醒時間。 點(diǎn)擊后彈出Due類的實(shí)例化對象。在該界面可編輯提醒具體時間以及事件。
?2. Lunar類
?農(nóng)歷轉(zhuǎn)換算法getLunar()傳統(tǒng)節(jié)日的定義
3. Notepad類
引入并實(shí)例化了Calendar對象,用于獲取當(dāng)前服務(wù)器的具體時間精確;定義變量存儲用戶輸入的提醒事件的具體時間以及事件;定義保存按鈕,用戶點(diǎn)擊后彈出提示對話框“保存成功”。點(diǎn)擊“確定”按鈕后,通過diapose()方法使對話框和記事界面同時關(guān)閉;引入并實(shí)例化了SipmleDateFormat對象用于設(shè)置時間格式。定義task類,該類繼承TimerTask,為使用schedule方法做準(zhǔn)備。再將用戶的提交時間傳入schedule方法,實(shí)現(xiàn)定時提醒;當(dāng)?shù)街付〞r間時,程序會彈出對話框,對話框內(nèi)顯示用戶設(shè)置的提醒事件。
4. Nowtime類
為?Canvas?類創(chuàng)建子類NowTime,創(chuàng)建自定義組件mainframe。在NotTime函數(shù)中定義界面大小和背景色,進(jìn)行線程實(shí)例化并調(diào)用線程。重寫paint?()方法,并調(diào)SimpleDateFormat函數(shù)格式化顯示時間。?
四、調(diào)試與測試
調(diào)試
基本功能已經(jīng)實(shí)現(xiàn),包括項(xiàng)目所要求的農(nóng)歷與公歷的計算與轉(zhuǎn)換,可以針對日期記事,以及預(yù)訂時間提醒。但仍有些問題亟待解決和功能需要完善。
1.年份只能顯示1900—2049這150年。當(dāng)所設(shè)置的年份不在這個范圍內(nèi)系統(tǒng)無法顯示日期將會報錯。如下圖:
解決的方法就是增加農(nóng)歷十六進(jìn)的年月份的表示。
2.記事本時間沒有輸入或輸入非法會直接報錯,不能重新編輯。運(yùn)行報錯如下圖:
3.記事無法保存在本地,日歷窗口關(guān)閉,無法彈出所記事的提醒信息。
解決方法:就是在與本機(jī)文件相關(guān)聯(lián),將存入的事件記錄在本機(jī)上,當(dāng)重新運(yùn)行時,文本中的記錄會傳到項(xiàng)目中。
測試
1.顯示功能
(1)所初步展示的界面為系統(tǒng)當(dāng)月的日期,界面最底層顯示當(dāng)前系統(tǒng)時間,精確到分。
(2)可通過“<<”“>>”按鈕進(jìn)行上年下年的轉(zhuǎn)換,也可以通過下拉列表對年份進(jìn)行改變顯示當(dāng)年的日期;可通過“<”“>”按鈕進(jìn)行上月、下月的轉(zhuǎn)換,也可以通過下拉列表對月份進(jìn)行改變顯示當(dāng)月的日期。
2.提醒功能
(3)點(diǎn)擊記事本按鈕,彈出記事窗口。默認(rèn)提醒的年月日為當(dāng)前的年月日,可以進(jìn)行重新編輯,編輯提醒時間和提醒事件。
(4)默認(rèn)提醒的年月日為當(dāng)前的年月日,可以進(jìn)行重新編輯,編輯提醒時間和提醒事件。
(5)點(diǎn)擊保存按鈕,則彈出保存驗(yàn)證窗口。點(diǎn)擊確定,進(jìn)行保存。
(6)當(dāng)設(shè)置的提醒時間和系統(tǒng)時間相等時,則彈出提醒窗口。點(diǎn)擊確定按鈕則窗口關(guān)閉。
總結(jié)
以上是生活随笔為你收集整理的Java实训——桌面日历的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 锤子手机跑分数据曝光
- 下一篇: mysql 查询所有表以及对应的信息