版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> java課程設(shè)計(jì)</b></p><p> 課程設(shè)計(jì)題目: 文本編輯器 </p><p><b> 目錄</b></p><p> 一、問(wèn)題描述———————————————————2</p><p> 二、功能模塊設(shè)計(jì)—————————————————2<
2、;/p><p> 三、主要流程設(shè)計(jì)—————————————————3</p><p> 四、用戶(hù)界面設(shè)計(jì)及部分運(yùn)行結(jié)果測(cè)試————————4</p><p> 五、主要類(lèi)設(shè)計(jì)——————————————————6</p><p> 六、系統(tǒng)創(chuàng)新點(diǎn)——————————————————8</p><p> 七、參考
3、文獻(xiàn)———————————————————8</p><p> 八、心得體會(huì)———————————————————8</p><p><b> 問(wèn)題描述:</b></p><p><b> 文本編輯器:</b></p><p><b> 功能要求:</b></p&
4、gt;<p> 文檔操作:主要是在txt文檔中輸入文字信息。</p><p> .文件操作:包括文件的新建、打開(kāi)、關(guān)閉、保存、另存為及退出程序等功能。</p><p> 文件編輯:包括撤銷(xiāo)上一步操作、剪切、復(fù)制、粘貼、刪除、全選、查找、查找下一個(gè)、替換等功能。 </p><p> 插入功能:主要是為了方便使用者插入日期、時(shí)間等信息(可選做功能)
5、</p><p> 字體設(shè)置:可以通過(guò)[字體]菜單對(duì)編輯器的顯示字體進(jìn)行設(shè)定,字體設(shè)定應(yīng)能設(shè)置字體的顏色。字體的不需要保存到文件,即字體設(shè)置只在當(dāng)前編輯時(shí)有效,退出程序并再次運(yùn)行時(shí)不需要與上次的字體相同 (可選擇功能)</p><p><b> 功能模塊設(shè)計(jì)</b></p><p> 該文本編輯器主要實(shí)現(xiàn)的功能有:</p>
6、<p><b> 文本輸入;</b></p><p> 文件菜單:新建、打開(kāi)、關(guān)閉、保存、另存為、退出;</p><p> 編輯菜單:撤銷(xiāo)、剪切、復(fù)制、粘貼、刪除、全選、插入時(shí)間、查找、查找下一個(gè)、替換;</p><p><b> 格式菜單:自動(dòng)換行</b></p><p><
7、;b> 主要流程設(shè)計(jì)</b></p><p><b> 1)簡(jiǎn)單框架的建立</b></p><p> 第一步:建立框架——利用所建MainForm主類(lèi)直接繼承JFrame,這個(gè)框架類(lèi)包含了一個(gè)initComponents() 方法,用于初始化各個(gè)組件,同時(shí)在initComponents() 方法里利用setTitle方法為框架添加了標(biāo)題——“T
8、XT”。</p><p> 第二步:添加文本域——用TextArea建立一個(gè)文本域?qū)ο螅⑻砑舆M(jìn)框架里</p><p><b> 2)添加菜單</b></p><p> 該文本編輯器菜單組件如下:</p><p> “文件”菜單: “編輯”菜單: “格式”菜單:</p><
9、p><b> 圖 3-2</b></p><p> 用JMenuBar定義一個(gè)菜單欄、 JMenu定義“文件”,“編輯”菜單、JMenuItem定義“新建”,“打開(kāi)”,“復(fù)制”,“粘貼”等菜單項(xiàng),更改變量名,并在initComponents( )方法里創(chuàng)建這些選項(xiàng)對(duì)象。利用addActionListener方法添加菜單響應(yīng)事件,將每個(gè)菜單項(xiàng)關(guān)聯(lián)到各自獨(dú)立的事件監(jiān)聽(tīng)器。</p&
10、gt;<p> 3)編寫(xiě)事件相應(yīng)代碼</p><p> 根據(jù)所要實(shí)現(xiàn)的功能編寫(xiě)各菜單選項(xiàng)的事件代碼。</p><p> 4)創(chuàng)建FindDialog類(lèi)和ReplaceDialog類(lèi)</p><p> 由于“查找”“替換”功能需要彈出對(duì)話(huà)框,我們就要各自創(chuàng)建一個(gè)Frame框架,新建FindDialog類(lèi)和ReplaceDialog類(lèi)并關(guān)聯(lián)相應(yīng)按鈕
11、到MainForm中。</p><p> 用戶(hù)界面設(shè)計(jì)及部分運(yùn)行結(jié)果測(cè)試</p><p> 該文本編輯器主要使用java.Swing工具包進(jìn)行界面設(shè)計(jì)——</p><p><b> 1)菜單項(xiàng)界面:</b></p><p><b> 如圖3-2。</b></p><p&g
12、t;<b> 2)打開(kāi)文件界面:</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> 查找下一個(gè):</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> 主要類(lèi)設(shè)計(jì)</b></p><p> 1)MianForm類(lèi):</p><p> 用于整體功能的實(shí)現(xiàn),包括各項(xiàng)功能的初始化及各事件的監(jiān)聽(tīng)響應(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);//查找對(duì)話(huà)框</p><p> private char[] main, sub;//主、子串字符數(shù)組</p><p> private String subString;//被查找的子串</p><p> int count = 0;//記錄查找到的子串的個(gè)數(shù)</p><p>
18、; private int[] add = new int[10];</p><p> //記錄下每次在文本中查找到子串的起始位置</p><p> private ReplaceDialog dialog2 = new ReplaceDialog(this, true);</p><p><b> //替換對(duì)話(huà)框</b></p&
19、gt;<p> private int pos1, pos2;//文本選定的字符串的起始位置和結(jié)束位置</p><p> private String replaceStr;//用來(lái)替換的子串</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> 自動(dòng)換行功能:</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> 插入時(shí)間功能:</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類(lèi):
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類(lèi):</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)新點(diǎn)</b></p><p> 1)除了選做了“插入時(shí)間”功能外,還新增了“自動(dòng)換行”功能,
32、便于閱讀編輯;</p><p> 2)創(chuàng)建了selectText用于進(jìn)行復(fù)制、剪切操作時(shí)存放文本編輯區(qū)中選中的文本內(nèi)容,并可在進(jìn)行粘貼操作時(shí)寫(xiě)入文本編輯區(qū)。</p><p><b> 七、參考文獻(xiàn)</b></p><p> 《java語(yǔ)言程序設(shè)計(jì)》</p><p><b> 八、心得體會(huì)</b&g
33、t;</p><p> 由于自身的基本功不扎實(shí),雖然這與其他人的課題比起來(lái)是個(gè)很簡(jiǎn)單的程序了,但我在做的過(guò)程中還是遇到了很多困難,于是往往花費(fèi)數(shù)小時(shí)絞盡腦汁四處翻資料實(shí)在不行了再請(qǐng)教同學(xué),最后得出的很可能只是幾行程序,但就是這短短的幾行,帶給人的喜悅卻是成反比的。</p><p> 無(wú)論如何,我相信通過(guò)這次的課程設(shè)計(jì),我對(duì)JAVA這門(mén)學(xué)科的理解有了長(zhǎng)足的進(jìn)步。在做這課題過(guò)程中的辛苦如人
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)---文本編輯器
- java課程設(shè)計(jì)---文本編輯器
- java課程設(shè)計(jì)(文本編輯器)
- 文本編輯器課程設(shè)計(jì)
- java 課程設(shè)計(jì)報(bào)告---用 java 設(shè)計(jì)文本編輯器mytxt
- 文本編輯器_java課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 文本編輯器課程設(shè)計(jì)報(bào)告
- vb課程設(shè)計(jì)文本編輯器
- c語(yǔ)言課程設(shè)計(jì)--文本編輯器
- vb課程設(shè)計(jì)報(bào)告----文本編輯器
- vb課程設(shè)計(jì)報(bào)告---文本編輯器
- c_文本編輯器課程設(shè)計(jì)
- 簡(jiǎn)易文本編輯器課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告-- 文本編輯器的設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--文本編輯器
- 操作系統(tǒng)課程設(shè)計(jì)---文本編輯器
- 微機(jī)原理課程設(shè)計(jì)—簡(jiǎn)易文本編輯器
- 文本編輯器
- 軟件工程課程設(shè)計(jì)--基于java的多頁(yè)面文本編輯器
- c_編寫(xiě)的文本編輯器課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論