Java第三次作業(yè)-《文本編輯器》(共11頁)
-
資源ID:44220475
資源大?。?span id="24d9guoke414" class="font-tahoma">344KB
全文頁數(shù):11頁
- 資源格式: DOC
下載積分:20積分
快捷下載
會員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。
|
Java第三次作業(yè)-《文本編輯器》(共11頁)
精選優(yōu)質(zhì)文檔-傾情為你奉上Java語言課程期末作業(yè)題 目 第6題: 文本編輯器 學(xué) 院 計算機學(xué)院 專 業(yè) 網(wǎng)絡(luò)工程 班 別 13級(3 )班 學(xué) 號 姓 名 2015年06月17日一、課程題目 制作一個簡單的文本編輯器,交互性要求:【最大選題人數(shù):5】 (1) 可輸入文字(僅要求英文及標(biāo)點符號) (2) 實現(xiàn)一些常用的編輯功能:如復(fù)制和粘貼,查找和替換,首字母自動大寫,拼寫自動更正 (3) 可打開并顯示TXT文件,并且可以將編輯結(jié)果保存為TXT文件二、題目分析與設(shè)計 1. 注明所使用的開發(fā)環(huán)境(Eclipse、NetBeans,JBuilder)。開發(fā)環(huán)境:Eclipse 2. 論述題目的需求。給出軟件功能架構(gòu)圖。 本題目要求實現(xiàn)類似于一個記事本的文本編輯器功能。要能夠輸入文字,能夠?qū)崿F(xiàn)一些常用的編輯功能,可打開并顯示TXT文件,并且可以將編輯結(jié)果保存為TXT文件。本程序要構(gòu)建的記事本程序參照了Windows操作系統(tǒng)的記事本工具,其功能有以下幾個方面: 菜單欄中有“文件”,“編輯”,“字體”三個主菜單。 “文件”菜單有“新建”,“打開”,“保存”三個菜單項:分別用于新建文件,打開文件,保存文件。 “編輯”菜單中有 “復(fù)制”“剪切”“粘貼”“查找”“替換”五個菜單項:用于實現(xiàn)復(fù)制所選文字,剪切所選文字,粘貼文字,查找,替換等功能。 “字體”中有“格式”一個菜單項:用來控制文本框中文本的字體類型功能; 軟件功能架構(gòu)圖:設(shè)置熱鍵格式替換查找粘貼剪切復(fù)制新建打開保存文件編輯字體菜單項文本編輯器3. 論述界面設(shè)計過程,指出其設(shè)計上的創(chuàng)意及組件的布局策略。這個框架主要運用盒子布局對象和grid布局對象操作。對于文本編輯器的菜單組件如下?!拔募辈藛卫铮?“編輯”菜單里 “字體”菜單里 4. 論述程序邏輯的實現(xiàn),包括類的設(shè)計、對象的協(xié)作過程等,必要時加以各種圖形和表格輔助論述。不得以粘貼代碼的方式代替設(shè)計部分。 首先,自定義一個editor類,該類繼承了JFrame類和ActionListener、ItemListener接口。在主類的主方法中,用editor創(chuàng)建一個對象bianji。在editor的構(gòu)造方法中設(shè)計好第一個界面的布局和組件。設(shè)計一個菜單條組件,添加“文件”、“編輯”、“格式”三個菜單,“文件”菜單下又添加“新建”、“打開”、“保存”菜單項;在“編輯”菜單下又添加“復(fù)制”、“粘貼”、“剪切”、“查找”、“替換”菜單項;在“格式”下又添加“字體”菜單項。所有菜單項都添加ActionListener監(jiān)視器,在editor中重寫public void actionPerformed(ActionEvent e)方法。由于添加了ActionListener監(jiān)視器的菜單項很多,當(dāng)它們被點擊時都會觸發(fā)系統(tǒng)自動生成ActionEvent對象,event對象會自動調(diào)用editor里面的actionPerformed方法,對觸發(fā)進行反應(yīng)處理,為了能對不同的菜單項點擊有不同的反應(yīng),那么要在actionPerformed方法中對事件源進行區(qū)分判斷,從而不同的事件源有不同的反應(yīng),所以在actionPerformed中用e.getSource對事件源進行判斷,用if else結(jié)構(gòu)進行不同的事件源不同的處理方法。自定義newfile()、openfile()、savefile()方法,對應(yīng)“新建”、“打開”、“保存”三個事件源的處理。在openfile()中,新建一個文件對話窗口showOpenDialog,建立一個文件字節(jié)輸入流和緩沖輸入流,緩沖輸入流按行讀取文件內(nèi)容,然后添加到文本區(qū)中。在savefile()中,新建一個文件對話框showSaveDialog,建立一個文件字節(jié)輸出流和緩沖輸出流,把文本區(qū)的字符串寫到用戶選擇的文件中。在newfile()方法中,先調(diào)用savefile()方法,把用戶當(dāng)前正在編輯的文本保存好先。用戶保存后再讓文本區(qū)組件調(diào)用setText()方法把文本內(nèi)容設(shè)置為null。從而達到清理文本區(qū)的效果。對應(yīng)“復(fù)制”、“粘貼”、“剪切”菜單項,添加調(diào)用文本區(qū)的copy()、paste()、cut()方法,把文本區(qū)的內(nèi)容復(fù)制到系統(tǒng)粘貼板,把粘貼板的內(nèi)容粘貼到文本區(qū)。事件源是“查找”菜單項時,新建一個窗口,新窗口添加“查找”按鈕,和一個文本框,用來輸入要查找的內(nèi)容。按鈕添加ActionListener監(jiān)視器。點擊“查找”按鈕后,用戶在文本框輸入文本,文本框調(diào)用getText()方法讀取字符串作為模式對象,建立一個匹配對象,文本區(qū)調(diào)用getText()方法得到字符串,匹配對象調(diào)用find()方法在文本區(qū)字符串中查找模式對象中的字符串,找到后,匹配對象再調(diào)用start()、end()方法,得到文本區(qū)字符串中與模式對象匹配的子字符串序列的開始位置和終止位置。文本區(qū)再調(diào)用select()方法把文本區(qū)的子字符串顯示出來。倘若沒有找到要查找的內(nèi)容,則會彈出一個警告窗口。點擊“替換”菜單項后,新建一個新窗口,添加“替換”按鈕和兩個文本框,一個用來輸入替換前的內(nèi)容,一個用來輸入替換后的內(nèi)容。當(dāng)用戶在文本框中輸入替換前的內(nèi)容,該內(nèi)容的字符串作為模式對象,建立一個匹配對象,匹配對象調(diào)用find()方法,找到文本區(qū)中的子字符串,然后文本區(qū)再調(diào)用replaceRange()方法替換文本,replaceRange()中參數(shù)是用戶輸入的替換后的字符串、子字符串的開始位置、子字符串的終止位置。倘若在文本區(qū)中沒有找到要替換前的文本內(nèi)容,那么將彈出一個警告窗口?!白煮w”菜單項是個下拉列表,添加ItemListener監(jiān)視器,用GraphicsEnvironment 對象ge=GraphicsEnvironment.getLocalGraphicsEnvironment();得到電腦系統(tǒng)里的所有字體類型,ge對象調(diào)用方法getAvailableFontFamilyNames()得到字體類型的名字,并把名字存放到字符串?dāng)?shù)組中,然后下拉列表組件添加字符串?dāng)?shù)組中的字體類型名字。當(dāng)用戶在下拉列表中選擇了一個字體時,觸發(fā)ItemEvent事件對象,事件對象通知監(jiān)視器,監(jiān)視器實現(xiàn)接口回調(diào),接口中自定義了方法,設(shè)置一個字體對象,該對象是用戶選擇的字體類型,然后文本區(qū)調(diào)用setFont方法把文本區(qū)的內(nèi)容都設(shè)置成該字體類型。三、測試分析1.打開text.txt文件2.點新建,再寫入“你好,廣東工業(yè)大學(xué)”,如圖3.復(fù)制粘貼測試4.查找測試5.替換6.字體轉(zhuǎn)換附錄:源代碼源代碼7個包,2個類 專心-專注-專業(yè)