資源描述:
《日歷記事本設計》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、設計題目:簡易日歷記事本系統(GUI)計算機與信息工程學院微機082班馬重0814050213一、問題陳述該程序功能如下:1、萬年歷:可以查詢以格里高利歷法為標準的所有日期;2、顏色提示:通過日歷按鈕組織所有筆記,筆記以顏色表示;3、文本編輯&文件管理:提供簡易文本編輯器,并整合簡單文件管理;4、人性化提示:在進行危險操作(退出、刪除等)進行提示。二、設計要點1、用戶圖形界面的可視化設計方法2、使用java集成開發(fā)環(huán)境Eclipse3.4.1(鑒于初步學習未使用GUI設計插件)3、常用GUI(AWT)組件的使用(Button、
2、Label、TextArea)4、窗體和對話框的使用。三、設計思路★ClndrNotes類:主應用程序類,繼承自系統類Frame(基本框架),實現日歷等等主要UI功能?!颪otesFieldDialog類:提供(簡易)文本編輯和文件管理功能。作為ClndrNote的內部類,目的是為了方便數據交流。以上兩類手動設計界面。之后輔以其他輔助類(主要是監(jiān)聽器),和大量的成熟系統類,聯合完成本程序的任務。四、關鍵技術介紹☆GregorianCalendar類,父類Calendar,具備處理日期的所有要件。使用setLenient特性還可
3、以接受不規(guī)范的日期如2009.13.-1,會自動規(guī)范化為2009.12.30.這個特性使得繁瑣的日期增減瞬間簡化?!頕ile類,文件管理類,同樣具備相關所有要件,只是這里只用到了很小一部分?!頕ileReader/Writer類,逐字符文件讀寫,雖然效率較緩沖讀寫略低,不過仍是簡單應用的首選?!預WT的控件類,Frame,Panel,Label,Button,TextArea,這里只做了最基本的常規(guī)使用。還有若干很方便的小特性也在程序中有所體現。五、程序代碼所有代碼均為查API手動編寫.ClndrNote.javapackag
4、enet.ncfs;///////////////////////////////////////////////////ncfs.net(籌劃中)////NanoCoreFurnanceStudio////////////////////////////////////////////////////系統類導入importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjava.util.*;importjavax.swing.JOptionPane;/////
5、//////////////////////////////////////////////////////////////////////////////////////////////////主應用程序類ClndrNote提供日歷界面及筆記顏色化管理///////////////////////////////////////////////////////////////////////////////////////////////////////publicclassClndrNoteextendsFrame{//聲
6、明系統常量privatestaticfinallongserialVersionUID=4905083727182757827L;privatestaticfinalStringdayOfWeek[]={"","日","一","二","三","四","五","六"};/////////////////////////////////////////////////////////////////////////////////////////////////////////////內部私有類NotesFieldDialog,提
7、供文本編輯器及文件管理器/////////////////////////////////////////////////////////////////////////////////////////////////////////////privateclassNotesFieldDialogextendsFrameimplementsActionListener{privatestaticfinallongserialVersionUID=-5631738455224067299L;//時間標識privateString
8、time="";//GUI組件privatePanelpCtrl=newPanel();privateButtonxSave=newButton("保存");privateButtonxClear=newButton("刪除");privateLabellShowTime=n