




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)號(hào)14082101362015-2016學(xué)年 第二學(xué)期面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告題目:記事本程序?qū)I(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):14級(jí)(2)班姓名:王欣指導(dǎo)教師:成績(jī):計(jì)算機(jī)學(xué)院2016年5月1日目錄1選題背景22設(shè)計(jì)思路22.1課程設(shè)計(jì)思想22.2流程圖32.3軟硬件運(yùn)行環(huán)境及開(kāi)發(fā)工具 33過(guò)程論述33.1知識(shí)點(diǎn)33.2代碼分析34總結(jié)7致謝7參考文獻(xiàn)7源代碼71選題背景現(xiàn)在網(wǎng)絡(luò)上各種記事本軟件數(shù)不勝數(shù),功能也是因有盡有,有能改變字體的, 有能改變顏色的。但是,這些軟件又存在各種各種的瑕疵, 是初級(jí)使用者一時(shí)難 以掌握的,僅從日常應(yīng)用方面來(lái)說(shuō),一個(gè)記事本只需一些簡(jiǎn)單實(shí)用的功能就夠了。 本程序
2、設(shè)計(jì)就是依照這樣一種使用需求設(shè)計(jì)了一個(gè)簡(jiǎn)單的記事本程序。2設(shè)計(jì)思路2.1課程設(shè)計(jì)思想2.1.1設(shè)計(jì)內(nèi)容設(shè)計(jì)的記事本程序可以編輯文本(再次使用編輯時(shí),會(huì)清空原來(lái)的內(nèi)容);文本錄入后可以保存在默認(rèn)路徑下的文本文件中;或另存為自己想要保存到的路徑下;可以查詢指定的文本內(nèi)容,如果沒(méi)有查詢到,就給出提示信息,如果查找 到了,可以將查詢到的內(nèi)容替換成其它的內(nèi)容。2.1.2 設(shè)計(jì)要求設(shè)計(jì)一個(gè)方便,美觀的記事本,實(shí)現(xiàn)編輯,保存,另存為,查找和替換功能 主要功能模塊如圖2-1所示。圖2-1功能模塊圖2.1.3設(shè)計(jì)功能說(shuō)明編輯:使文本域可以編輯內(nèi)容,并清空原來(lái)的內(nèi)容。保存:可以將編輯到文本域中的內(nèi)容,保存到默認(rèn)路
3、徑下的文本文件中另存為:可以將文本域中的內(nèi)容保存到自定義的文件中 查找和替換:可以查找文本內(nèi)容并替換成其它內(nèi)容。2.2流程圖系統(tǒng)數(shù)據(jù)流程圖如圖2-2所示主界面文檔2.3軟硬件運(yùn)行環(huán)境及開(kāi)發(fā)工具編成語(yǔ)言:java語(yǔ)言;開(kāi)發(fā)環(huán)境:Microsoft Windows XP ,JDK Eclipse。3過(guò)程論述3.1.知識(shí)點(diǎn)本程序是一個(gè)簡(jiǎn)單的記事本程序,涉及到的知識(shí)點(diǎn)有圖形用戶界面,事件處 理處理機(jī)制,輸入輸出流等。3.2代碼分析3.2.1用戶界面記事本程序的用戶界面,如圖3-1所示圖3-1用戶界面322功能代碼(1)保存文本:如圖3-2所示* t如TRH - .15I3Zt z-注Zii ri di
4、aiLi jt(ci:4計(jì)初對(duì)an 4圖3-2保存文本代碼:if(jb=jb2)File f1= new File(d:/記事本 / 記事本.txt);tryf1.createNewFile();FileOutputStream fos=new FileOutputStream(f1);fos.write(jt.getText().getBytes();catch(Exceptio n e1)throw new Run timeExceptio n(e1);(2)文本另存為:如圖3-3所示。圖3-3文本另存為代碼:if(jb=jb3)FileDialogsa=newFileDialog(thi
5、s,另 存 為,FileDialog.SAVE);sa.show();fileName=sa.getDirectory()+sa.getFile();if(fileName!=null)tryFile file=new File(fileName);FileWriter writeOut=new FileWriter(file);writeOut.write(jt.getText();writeOut.close();catch(Excepti on e1)JOptio nPan e.showMessageDialog(this,Errorwrit ingfile!);(3)查找和替換文本:如
6、圖3-4所示圖3-4查找替換代碼:buttonFind.addActionListener(newActionListener() / “查找下 一個(gè)”事件public void actio nPeformed(Actio nEve nt e) Stri ng fin dText=jt1.getText();定義查找的字符串Stri ng nowText=jt.getText();定義當(dāng)前文本框的內(nèi)容start=no wText.i ndexOf(fi ndText,e nd); /開(kāi)始位置en d=start+fi ndText.le ngth(); /結(jié)束位置if(start=-1) /沒(méi)
7、有找到,彈出提示JOptionPane.showMessageDialog(null,沒(méi)找到+findText,記事本,JOptio nPan e.WARNING_MESSAGE);jt.select(start, en d);else / 找到了jt.select(start,e nd); /顯示出找到的內(nèi)容);butt on Cha nge.addAct ion Liste ner(newActio nListe ner() / “替換”事件public void actio nPeformed(Actio nEve nt e) String changeText=jt2.getText(
8、); 定義 i 替換的字符串 jt.select(start, en d);jt.replaceSelectio n(cha ngeText); /將查找到的內(nèi)容替換jt.select(start, en d););4總結(jié)在課程設(shè)計(jì)中,系統(tǒng)開(kāi)發(fā)平臺(tái)為 Win dowsxp,程序設(shè)計(jì)設(shè)計(jì)語(yǔ)言采用Java。 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的記事本程序,實(shí)現(xiàn)了編輯,保存,另存為,查找和替換等功能。 在程序設(shè)計(jì)中,采用了圖形用戶界面。程序通過(guò)調(diào)試運(yùn)行,初步實(shí)現(xiàn)了設(shè)計(jì)目標(biāo), 并且經(jīng)過(guò)適當(dāng)完善后,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的記事本。通過(guò)對(duì)本程序的開(kāi)發(fā),讓我了解到一個(gè)完整系統(tǒng)的開(kāi)發(fā)過(guò)程,將一個(gè)大的工 程問(wèn)題可以細(xì)化到各個(gè)模塊,讓每個(gè)模塊可
9、以獨(dú)立去完成各自的功能,最后用函 數(shù)之間的調(diào)用來(lái)解決程序開(kāi)發(fā)的全部問(wèn)題,讓我在以后開(kāi)發(fā)程序的道路上更加擁有信心。致謝在這次面向?qū)ο笳n程設(shè)計(jì)中,我的老師和同學(xué)給了我及大的幫助。特別是我的指導(dǎo)老師老師,還有我的小組組長(zhǎng)的耐心幫助,在此,我對(duì)他們表示感謝!感謝他們?cè)谖颐鎸?duì)困難時(shí)給了我?guī)椭椭С?。也感謝那些給我?guī)椭乃型瑢W(xué)!參考文獻(xiàn)1 王振飛、孫媛 Java語(yǔ)言程序設(shè)計(jì).華南理工大學(xué)出版社,20152 趙生慧.Java面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)訓(xùn)與考試指導(dǎo).中國(guó)水利水電出版社,2010源代碼package pro; import java.awt.*;import java.awt.eve nt.*;imp
10、ort java.io.*;import javax.swi ng.*;public class Test exte nds JFrame impleme nts Actio nListe ner /建立組件JFrame jf=new JFrame(” 記事本);JTextArea jt=new JTextArea();JButton jb 仁new JButto n(”編輯);JButton jb2=new JButto n(”保存);JButton jb3=new JButto n(”另存為);JButton jb4=new JButton(”查找和替換);Container cp=jf.
11、getC on te ntPa ne(); /定義變量int start=0;int en d=0;String fileName=Noname;public Test()構(gòu)造方法super(Action Eve nt);調(diào)用構(gòu)造/添加事件觸發(fā)器jb1.addActi on Liste ner(this);jb2.addActi on Liste ner(this);jb3.addActi on Liste ner(this);jb4.addActi on Liste ner(this);/界面布局cp.setLayout (n ull); jf.setSize(600,730);jt.set
12、Bou nds(30,40,530,550); jb1.setBou nds(45,620,100,50);jb2.setBou nds(170,620,100,50);jb3.setBou nds(295,620,100,50);jb4.setBou nds(420,620,100,50); /添加組件cp.add(jt);cp.add(jb1);cp.add(jb2);cp.add(jb3);cp.add(jb4);jf.setVisible(true);/顯示組件jt.setEditable(false);/文本域不可編輯jt.setLi neWrap(true);/文本域自動(dòng)換行pub
13、lic static void mai n( Stri ng arg)Test frm=new Test();/觸發(fā)事件public void action Performed(Acti on Eve nt e)JButton jb=(JButto n) e.getSource();事件源/觸發(fā)“編輯”事件if(jb=jb1)jt.setEditable(true);/ 文本域可編輯 jt.setText();清空文本域/觸發(fā)“保存”事件if(jb=jb2)File f仁new File(d:/記事本 / 記事本.txt);tryf1.createNewFile();FileOutputStr
14、eam fos=new FileOutputStream(f1);fos.write(jt.getText().getBytes();fos.write(n.getBytes();catch(Excepti on e1)throw new Run timeExceptio n(e1);/觸發(fā)“另存為”事件if(jb=jb3)FileDialogsa=new FileDialog(this,另 存 為,FileDialog.SAVE);sa.show();fileName=sa.getDirectory()+sa.getFile();if(fileName!=null)tryFile file=
15、new File(fileName);FileWriter writeOut=new FileWriter(file); writeOut.write(jt.getText();writeOut.close();catch(Excepti on e1)JOptio nPan e.showMessageDialog(this,Errorwrit ingfile!);/觸發(fā)“查找替換”事件if(jb=jb4)/查找對(duì)話框JDialogsearch=new JDialog(this,查找和替換);/建立對(duì)話框search.setSize(300, 100); / search.setLocatio
16、n(150,250); /設(shè)置對(duì)話框大小對(duì)話框顯示的位置/建立組件JLabel jl1= new JLabel(查找的內(nèi)容);JLabel jl2=new JLabel(替換的內(nèi)容);fin al JTextField jt1= new JTextField(5);fin al JTextField jt2=new JTextField(5);JButton buttonFind=new JButton(”查找下一個(gè));JButton butt on Cha nge=new JButto n(”替換);JPa nel panel=new JPa nel( new GridLayout(2,3)
17、;/添加組件pan el.add(jl1);pan el.add(jt1);pan el.add(butt onFin d);pan el.add(jl2);pan el.add(jt2);pan el.add(butt on Cha nge); search.add(pa nel);search.setVisible(true); /顯示組件public void actio nPerformed(Actio nEve nt e) Stri ng fin dText=jt1.getText();/String no wText=jt.getText();/start=nowText.indexOf(findText,end); / end=start+findText.length(); /定義查找的字符串 定義當(dāng)前文本框的內(nèi)容 開(kāi)始位置結(jié)束位置/“查找下一個(gè)”事件buttonFind.addActionListener(new ActionListener() if(start=-1) /沒(méi)有找到,彈出提示JOptio nPa ne.showMessageDialog( null,沒(méi)找到+fi ndText,記事本,JOptio nPan e.WARNING_MESSAGE);jt.select(start, end);else /找
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)服裝塑料包裝袋市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)SB手巾花杯市場(chǎng)調(diào)查研究報(bào)告
- 仿古燈具采購(gòu)合同范例
- 與舞蹈學(xué)校合同范例
- 中藥袋購(gòu)銷合同范例
- 主播合同范例范例
- 關(guān)于房屋回遷申訴合同范例
- 東莞餐飲宿舍租賃合同范例
- 公司之間廣告合同范例
- 代售油卡合同范例
- 小學(xué)數(shù)學(xué)-水中浸物問(wèn)題-完整版題型訓(xùn)練30題-帶答案
- 培養(yǎng)正念提升幸福感
- 追悼會(huì)流程方案
- 公司制度制定執(zhí)行等情況匯報(bào)范文
- 營(yíng)銷員壓力管理
- 淺議鄉(xiāng)鎮(zhèn)機(jī)構(gòu)改革的難點(diǎn)與對(duì)策
- 二年級(jí)下冊(cè)口算題1000題大全
- 聚酯生產(chǎn)技術(shù) 聚酯聚合原理
- GB 4806.7-2023食品安全國(guó)家標(biāo)準(zhǔn)食品接觸用塑料材料及制品
- 中職統(tǒng)編《金屬材料與熱處理》系列課件 第1章 金屬的結(jié)構(gòu)與結(jié)晶(動(dòng)畫(huà)) 云天系列課件
- 新編英語(yǔ)教程6練習(xí)冊(cè)答案
評(píng)論
0/150
提交評(píng)論