

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> java課程設(shè)計</b></p><p> 課程設(shè)計題目: 文本編輯器 </p><p><b> 目錄</b></p><p> 一、問題描述———————————————————2</p><p> 二、功能模塊設(shè)計—————————————————2<
2、;/p><p> 三、主要流程設(shè)計—————————————————3</p><p> 四、用戶界面設(shè)計及部分運行結(jié)果測試————————4</p><p> 五、主要類設(shè)計——————————————————6</p><p> 六、系統(tǒng)創(chuàng)新點——————————————————8</p><p> 七、參考
3、文獻———————————————————8</p><p> 八、心得體會———————————————————8</p><p><b> 問題描述:</b></p><p><b> 文本編輯器:</b></p><p><b> 功能要求:</b></p&
4、gt;<p> 文檔操作:主要是在txt文檔中輸入文字信息。</p><p> .文件操作:包括文件的新建、打開、關(guān)閉、保存、另存為及退出程序等功能。</p><p> 文件編輯:包括撤銷上一步操作、剪切、復(fù)制、粘貼、刪除、全選、查找、查找下一個、替換等功能。 </p><p> 插入功能:主要是為了方便使用者插入日期、時間等信息(可選做功能)
5、</p><p> 字體設(shè)置:可以通過[字體]菜單對編輯器的顯示字體進行設(shè)定,字體設(shè)定應(yīng)能設(shè)置字體的顏色。字體的不需要保存到文件,即字體設(shè)置只在當(dāng)前編輯時有效,退出程序并再次運行時不需要與上次的字體相同 (可選擇功能)</p><p><b> 功能模塊設(shè)計</b></p><p> 該文本編輯器主要實現(xiàn)的功能有:</p>
6、<p><b> 文本輸入;</b></p><p> 文件菜單:新建、打開、關(guān)閉、保存、另存為、退出;</p><p> 編輯菜單:撤銷、剪切、復(fù)制、粘貼、刪除、全選、插入時間、查找、查找下一個、替換;</p><p><b> 格式菜單:自動換行</b></p><p><
7、;b> 主要流程設(shè)計</b></p><p><b> 1)簡單框架的建立</b></p><p> 第一步:建立框架——利用所建MainForm主類直接繼承JFrame,這個框架類包含了一個initComponents() 方法,用于初始化各個組件,同時在initComponents() 方法里利用setTitle方法為框架添加了標題——“T
8、XT”。</p><p> 第二步:添加文本域——用TextArea建立一個文本域?qū)ο?,并添加進框架里</p><p><b> 2)添加菜單</b></p><p> 該文本編輯器菜單組件如下:</p><p> “文件”菜單: “編輯”菜單: “格式”菜單:</p><
9、p><b> 圖 3-2</b></p><p> 用JMenuBar定義一個菜單欄、 JMenu定義“文件”,“編輯”菜單、JMenuItem定義“新建”,“打開”,“復(fù)制”,“粘貼”等菜單項,更改變量名,并在initComponents( )方法里創(chuàng)建這些選項對象。利用addActionListener方法添加菜單響應(yīng)事件,將每個菜單項關(guān)聯(lián)到各自獨立的事件監(jiān)聽器。</p&
10、gt;<p> 3)編寫事件相應(yīng)代碼</p><p> 根據(jù)所要實現(xiàn)的功能編寫各菜單選項的事件代碼。</p><p> 4)創(chuàng)建FindDialog類和ReplaceDialog類</p><p> 由于“查找”“替換”功能需要彈出對話框,我們就要各自創(chuàng)建一個Frame框架,新建FindDialog類和ReplaceDialog類并關(guān)聯(lián)相應(yīng)按鈕
11、到MainForm中。</p><p> 用戶界面設(shè)計及部分運行結(jié)果測試</p><p> 該文本編輯器主要使用java.Swing工具包進行界面設(shè)計——</p><p><b> 1)菜單項界面:</b></p><p><b> 如圖3-2。</b></p><p&g
12、t;<b> 2)打開文件界面:</b></p><p><b> 圖 4-2</b></p><p><b> 3)查找界面:</b></p><p><b> 圖 4-3</b></p><p><b> 4)查找結(jié)果:</b
13、></p><p><b> 圖 4-4</b></p><p><b> 查找下一個:</b></p><p><b> 圖 4-5</b></p><p> 6)保存、另存為界面:</p><p><b> 圖 4-6<
14、;/b></p><p><b> 7)替換界面:</b></p><p><b> 圖 4-7</b></p><p><b> 8)替換結(jié)果:</b></p><p><b> 圖 4-8</b></p><p>
15、<b> 主要類設(shè)計</b></p><p> 1)MianForm類:</p><p> 用于整體功能的實現(xiàn),包括各項功能的初始化及各事件的監(jiān)聽響應(yīng)等。關(guān)鍵代碼如下:</p><p> public class MainForm extends javax.swing.JFrame {</p><p> pr
16、ivate String text, new_text;</p><p> private String selectText = "";//存放文本編輯區(qū)中選中的文本內(nèi)容</p><p> private boolean text_judgement = false;</p><p> private FindDialog dialog
17、= new FindDialog(this, true);//查找對話框</p><p> private char[] main, sub;//主、子串字符數(shù)組</p><p> private String subString;//被查找的子串</p><p> int count = 0;//記錄查找到的子串的個數(shù)</p><p>
18、; private int[] add = new int[10];</p><p> //記錄下每次在文本中查找到子串的起始位置</p><p> private ReplaceDialog dialog2 = new ReplaceDialog(this, true);</p><p><b> //替換對話框</b></p&
19、gt;<p> private int pos1, pos2;//文本選定的字符串的起始位置和結(jié)束位置</p><p> private String replaceStr;//用來替換的子串</p><p> private String oldReplaceStr;//記錄被替換的字符</p><p> /** Creates new fo
20、rm MainForm */</p><p> public MainForm() {</p><p> initComponents();</p><p> setTitle("TXT");</p><p><b> }</b></p><p><b>
21、}</b></p><p><b> 自動換行功能:</b></p><p> private void menuWrapLineActionPerformed(java.awt.event.ActionEvent evt) {</p><p> boolean var = false;</p><p>
22、;<b> if (var)</b></p><p> var = true;</p><p><b> else</b></p><p> var = false;</p><p> displayText.setLineWrap(var); </p><p>&
23、lt;b> }</b></p><p><b> 插入時間功能:</b></p><p> private void menuDateActionPerformed(java.awt.event.ActionEvent evt) {</p><p> String date = displayText.getText(
24、);</p><p> Calendar c = Calendar.getInstance(Locale.CHINA);</p><p> String year = Integer.toString(c.get(Calendar.YEAR));</p><p> String month = Integer.toString(c.get(Calendar.M
25、ONTH) + 1);</p><p> String day = Integer.toString(c.get(Calendar.DATE));</p><p> String hour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));</p><p> String minute = Integer.toSt
26、ring(c.get(Calendar.MINUTE));</p><p> String second = Integer.toString(c.get(Calendar.SECOND));</p><p> date = date + " " + year + " - " + month + " - " + day +
27、 " " + hour + " : " + minute + " : " + second;</p><p> displayText.setText(date+'\n');</p><p><b> }</b></p><p> 2)FindDialog類:
28、</p><p> private void findNextActionPerformed(java.awt.event.ActionEvent evt) {</p><p> String f = findText.getText();</p><p> MainForm parent = (MainForm) this.getParent();</
29、p><p> parent.getString(f);</p><p> this.dispose();</p><p><b> }</b></p><p> 3)ReplaceDialog類:</p><p> private void replaceItActionPerformed(
30、java.awt.event.ActionEvent evt) {</p><p> String r=replaceText.getText();</p><p> MainForm parent = (MainForm) this.getParent();</p><p> parent.getReplace(r);</p><p>
31、; replaceText.setText("");</p><p> this.dispose();</p><p><b> }</b></p><p><b> 六、系統(tǒng)創(chuàng)新點</b></p><p> 1)除了選做了“插入時間”功能外,還新增了“自動換行”功能,
32、便于閱讀編輯;</p><p> 2)創(chuàng)建了selectText用于進行復(fù)制、剪切操作時存放文本編輯區(qū)中選中的文本內(nèi)容,并可在進行粘貼操作時寫入文本編輯區(qū)。</p><p><b> 七、參考文獻</b></p><p> 《java語言程序設(shè)計》</p><p><b> 八、心得體會</b&g
33、t;</p><p> 由于自身的基本功不扎實,雖然這與其他人的課題比起來是個很簡單的程序了,但我在做的過程中還是遇到了很多困難,于是往往花費數(shù)小時絞盡腦汁四處翻資料實在不行了再請教同學(xué),最后得出的很可能只是幾行程序,但就是這短短的幾行,帶給人的喜悅卻是成反比的。</p><p> 無論如何,我相信通過這次的課程設(shè)計,我對JAVA這門學(xué)科的理解有了長足的進步。在做這課題過程中的辛苦如人
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計---文本編輯器
- java課程設(shè)計---文本編輯器
- java課程設(shè)計(文本編輯器)
- 文本編輯器課程設(shè)計
- 文本編輯器_java課程設(shè)計實驗報告
- java 課程設(shè)計報告---用 java 設(shè)計文本編輯器mytxt
- 文本編輯器課程設(shè)計報告
- vb課程設(shè)計文本編輯器
- c語言課程設(shè)計--文本編輯器
- vb課程設(shè)計報告----文本編輯器
- vb課程設(shè)計報告---文本編輯器
- c_文本編輯器課程設(shè)計
- 簡易文本編輯器課程設(shè)計報告
- java課程設(shè)計報告-- 文本編輯器的設(shè)計與實現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--文本編輯器
- 操作系統(tǒng)課程設(shè)計---文本編輯器
- 微機原理課程設(shè)計—簡易文本編輯器
- 文本編輯器
- 軟件工程課程設(shè)計--基于java的多頁面文本編輯器
- c_編寫的文本編輯器課程設(shè)計
評論
0/150
提交評論