任琴 劉毅 孔令慧
摘要:現(xiàn)在網(wǎng)絡(luò)上各種文檔編輯器數(shù)不勝數(shù),功能也是應(yīng)有盡有,根據(jù)這種現(xiàn)狀,本次課程設(shè)計(jì)的題目是運(yùn)用java語言實(shí)現(xiàn)記事本程序,使其具有簡(jiǎn)單的文字編輯功能,如:“新建”、“打開”、“保存”、“退出”、“剪切”、“復(fù)制”、“粘貼”和“幫助”等基本功能,以及設(shè)置字體等拓展功能。滿足用戶對(duì)文件的處理,文本文檔的編輯和字體的設(shè)置等要求。
關(guān)鍵詞:記事本程序;Java;文本編輯器
記事本是日常生活中常用到的工具,現(xiàn)在隨著計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已經(jīng)為人們深刻認(rèn)識(shí),它已經(jīng)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用,當(dāng)然對(duì)文本編輯操作仍然占據(jù)著重要地位,記事本是簡(jiǎn)單便捷的文本編輯器,可實(shí)現(xiàn)對(duì)文本編輯操作的基本功能以滿人人們的日常需求。
本程序設(shè)計(jì)主要分為兩大部分:簡(jiǎn)單的GUI設(shè)計(jì)和程序功能設(shè)計(jì)。通過GUI設(shè)計(jì)實(shí)現(xiàn)圖形用戶界面,提供圖形菜單,方便用戶操作,同時(shí)記事本的界面參考了Windows中的記事本界面。然后使用Java語言實(shí)現(xiàn)合理的布局,并且能夠?qū)斎胛淖值牟僮鳎瑢?duì)文檔內(nèi)容的編輯操作,以及能夠順利退出等功能。
本文將通過以下幾個(gè)方面簡(jiǎn)單介紹。
一、記事本功能介紹
記事本是一個(gè)相對(duì)比較簡(jiǎn)單的內(nèi)容,通過編寫程序使其具有以下幾個(gè)方面的功能:1)打開功能。用戶可以打開任何文本內(nèi)容進(jìn)行操作。2)保存功能。用戶在對(duì)文本操作完成后,可以按照需求進(jìn)行保存文本。3)另存為功能。用戶對(duì)于新打開的文本操作完成后,可以根據(jù)需求進(jìn)行另存文本。4)退出功能。點(diǎn)擊關(guān)閉按鈕,可以關(guān)閉正在查看的文檔,并退出。5)復(fù)制功能。講選中的內(nèi)容可以盡心復(fù)制,這樣更方便用戶修改相應(yīng)內(nèi)容。6)剪切功能。用戶可以根據(jù)需求,對(duì)所需要的并且已選中的內(nèi)容剪切,將其移植至其他處。7)粘貼功能。將復(fù)制或者剪切的內(nèi)容進(jìn)行粘貼。8)日期/時(shí)間功能。用戶可以根據(jù)需要,點(diǎn)擊日期/時(shí)間功能按鈕可直接將當(dāng)前的時(shí)間植入文本內(nèi)容。9)字體設(shè)置功能。用戶可以根據(jù)需要改變當(dāng)前輸入文本的字形及顏色。10)幫助功能。用戶可查看記事本的使用方法等。
二、算法分析
為了實(shí)現(xiàn)該記事本的功能,主要是完成兩點(diǎn):界面的設(shè)計(jì)及各功能按鈕的實(shí)現(xiàn)。
(一)界面的設(shè)計(jì)
主要是使用Java Swing來實(shí)現(xiàn),Swing 提供了更多的組件庫,如: JTable,JTree,Jcombox 等。并且Swing 采用了 MVC 設(shè)計(jì)模式,也即是【模型-視圖-控制器】模式,該模式同其他許多設(shè)計(jì)模式一樣,都遵循面向?qū)ο蟮脑O(shè)計(jì)中的一個(gè)基本原則:不讓對(duì)象具有太多的功能,如對(duì)于按鈕來說不要讓一個(gè)按鈕類完成所有的事情,替代的方法就是讓一個(gè)對(duì)象負(fù)責(zé)組件的觀感,而另一個(gè)對(duì)象負(fù)責(zé)存儲(chǔ)內(nèi)容,本記事本的圖形界面設(shè)計(jì)采用Swing。這樣只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面[4]。
(二)各功能按鈕的實(shí)現(xiàn)
主要是使用了鼠標(biāo)及鍵盤的監(jiān)聽,然后通過各功能函數(shù)的調(diào)用來實(shí)現(xiàn)。在以上分析的基礎(chǔ)上,本程序設(shè)計(jì)分為3個(gè)類,分別是:JNotePadUI類,CheckColorFrame類和CheckFontFrame類。其各個(gè)類的功能如下:1)JNotePadUI.java:主要包含名為JNotePadUI的public類,其功能主要是定義記事本的界面,并添加事件偵聽和事件處理。調(diào)用CheckColorFrame類來實(shí)現(xiàn)字體顏色的改變,調(diào)用CheckFontFrame類實(shí)現(xiàn)字體字形的改變。2)CheckColorFrame.java:該類是實(shí)現(xiàn)更改記事本文本編輯區(qū)字體的顏色功能的類,該類定義了字體更改的方法,用戶可以根據(jù)需要及預(yù)覽字體的形態(tài)改變當(dāng)前文本文字的顏色,并以對(duì)話框的形式顯示。3)CheckFontFrame.java:該類是實(shí)現(xiàn)更改記事本文本編輯區(qū)字體的字形功能的類,主要有“加粗”和“斜體”兩種形態(tài)可供選擇。
三、調(diào)試及運(yùn)行結(jié)果
1)程序主界面。運(yùn)行程序后,顯示主界面如圖1所示:
2)文件界面。文件菜單中包含“打開”,“保存”,“另存”及“關(guān)閉”按鈕,分別實(shí)現(xiàn)打開文件,保存文件,將文件另存以及關(guān)閉文件及程序的功能。
3)打開文件。點(diǎn)擊打開按鈕,彈出選項(xiàng)框,選中文件后再將文件顯示到編輯區(qū)域。
4)關(guān)閉文件。點(diǎn)擊關(guān)閉按鈕,會(huì)彈出提示對(duì)話框,詢問是否保存。
5)日期/時(shí)間。點(diǎn)擊日期/時(shí)間按鈕,即可將當(dāng)前的時(shí)間信息顯示出來。
6)字體。點(diǎn)擊字體按鈕,會(huì)彈出字體選項(xiàng)框,根據(jù)需要選擇相應(yīng)的選項(xiàng),點(diǎn)擊確定之后即可將編輯區(qū)的字形變?yōu)樗x中的對(duì)象。
四、結(jié)語
該記事本雖以實(shí)現(xiàn)了預(yù)期功能,但仍不是十分完善,目前本記事本還有待完善的功能如下:
1)沒有實(shí)現(xiàn)查找和替換的功能,如果查找個(gè)別關(guān)鍵字還別叫麻煩。
2)注冊(cè)界面相對(duì)比較單一,不夠詳細(xì),不能選擇頭像,注冊(cè)性別,個(gè)性簽名等等。
3)聊天內(nèi)容不能保存,退出聊天室之后就找不到之前的聊天內(nèi)容,如果在聊天過程中有比較重要的內(nèi)容需要更慎重的記錄。
4)不能像QQ那樣發(fā)送圖片表情而且隨意的添加在聊天內(nèi)容的任何位置。
參考文獻(xiàn):
[1]邱仲潘,等.Java程序設(shè)計(jì).北京:北京希望電子出版社,2005.
[2]李明,卞藝杰,等.Java程序設(shè)計(jì)與應(yīng)用.北京:清華大學(xué)出版社,2010.