JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)_第1頁(yè)
JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)_第2頁(yè)
JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)_第3頁(yè)
JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)_第4頁(yè)
JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、JAVA程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告院系:信息工程系專業(yè):計(jì)算機(jī)應(yīng)用技術(shù)班級(jí):11計(jì)算機(jī)01班姓名:Civen任課教師:XXX實(shí)驗(yàn)題目:JAVA簡(jiǎn)單記事本程序設(shè)計(jì)目錄TOC o 1-5 h z目錄1 HYPERLINK l bookmark6 o Current Document 一、引言21.1課程設(shè)計(jì)目的21.2題目說(shuō)明21.3開(kāi)發(fā)工具介紹2 HYPERLINK l bookmark8 o Current Document 、總體設(shè)計(jì)-4-2.1系統(tǒng)開(kāi)發(fā)平臺(tái).2.2系統(tǒng)流程圖2.3功能結(jié)構(gòu)圖2.4數(shù)據(jù)庫(kù)設(shè)計(jì)三、詳細(xì)說(shuō)明3.1系統(tǒng)實(shí)施四、系統(tǒng)的調(diào)試和運(yùn)行-4-4錯(cuò)誤!未定義書(shū)簽。錯(cuò)誤!未定義書(shū)簽。4.-

2、11-9五、課程設(shè)計(jì)總結(jié)六、參考文獻(xiàn)9附錄(源程序代碼)10一、引言1.1課程設(shè)計(jì)目的復(fù)習(xí),鞏固Java語(yǔ)言的基礎(chǔ)知識(shí),進(jìn)一步加深對(duì)Java語(yǔ)言的理解和掌握;課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉學(xué)生的分析解決實(shí)際問(wèn)題的能力,提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力;培養(yǎng)學(xué)生在項(xiàng)目開(kāi)發(fā)中團(tuán)隊(duì)合作精神,創(chuàng)新意識(shí)及能力。1掌握窗口、菜單等高級(jí)組件的應(yīng)用。2掌握J(rèn)avaSwing的使用方法。3.了解GUI應(yīng)用程序的創(chuàng)建過(guò)程與方法。1.2題目說(shuō)明課題:學(xué)生成績(jī)管理4功能要求:編寫(xiě)一個(gè)簡(jiǎn)單記事本程序,要求包含以下菜單項(xiàng)文件新建、打開(kāi)、保存、退出編輯剪切

3、、拷貝、粘貼、查找?guī)椭P(guān)于5實(shí)現(xiàn)文件和編輯菜單里的功能1.3開(kāi)發(fā)工具介紹Eclipse是一種可擴(kuò)展的開(kāi)放源代碼IDE。2001年11月,IBM公司捐出價(jià)值4,000萬(wàn)美元的源代碼組建了Eclipse聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具的后續(xù)開(kāi)發(fā)。集成開(kāi)發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開(kāi)發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開(kāi)發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse允許在同IDE中集成來(lái)自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開(kāi)發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。利用Eclipse,我們可以將高級(jí)設(shè)計(jì)(也許是采用

4、UML)與低級(jí)開(kāi)發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。如果這些互相補(bǔ)充的獨(dú)立工具采用Eclipse擴(kuò)展點(diǎn)彼此連接,那么當(dāng)我們用調(diào)試器逐一檢查應(yīng)用時(shí),UML對(duì)話框可以突出顯示我們正在關(guān)注的器件。事實(shí)上,由于Eclipse并不了解開(kāi)發(fā)語(yǔ)言,所以無(wú)論Java語(yǔ)言調(diào)試器、C/C+調(diào)試器還是匯編調(diào)試器都是有效的,并可以在相同的框架內(nèi)同時(shí)瞄準(zhǔn)不同的進(jìn)程或節(jié)點(diǎn)。Eclipse的最大特點(diǎn)是它能接受由Java開(kāi)發(fā)者自己編寫(xiě)的開(kāi)放源代碼插件,這類(lèi)似微軟公司的VisualStudio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開(kāi)發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。Eclipse

5、聯(lián)盟已經(jīng)宣布將在2004年中期發(fā)布其3.0版軟件。這是一款非常受歡迎的java開(kāi)發(fā)工具,這國(guó)內(nèi)的用戶越來(lái)越多,實(shí)際上實(shí)用它java開(kāi)發(fā)人員是最多的。缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來(lái)說(shuō),理解起來(lái)較困難。二、總體設(shè)計(jì)2.1系統(tǒng)開(kāi)發(fā)平臺(tái)前端使用JAVA設(shè)計(jì)2.2系統(tǒng)流程圖Y輸入文字?N結(jié)束新打保復(fù)粘粘刪替全另存為剪切退關(guān)查開(kāi)始圖3.1主流程圖2.3功能結(jié)構(gòu)圖3.2.2“文件”菜單操作流程圖圖3.2“文件”菜單操作流程圖3.2.3“編輯”菜單操作流程圖圖3.3“編輯”菜單操作流程圖3.2.4“幫助”菜單操作流程圖圖3.4“幫助”菜單操作流程圖三、詳細(xì)說(shuō)明設(shè)計(jì)兩個(gè)類(lèi),一個(gè)jsb類(lèi),具有程序的要求和功能再創(chuàng)建一

6、個(gè)keshe主類(lèi),在主類(lèi)中創(chuàng)建一個(gè)jsb類(lèi)的對(duì)象,就可以直接在編譯器中運(yùn)行程序。1:界面設(shè)計(jì)在主界面中設(shè)計(jì)一個(gè)Frame容器,并在其中加入一個(gè)下拉菜單和一個(gè)文本域控件,把該容器設(shè)置為GridLayout(l,l)布局。2:功能設(shè)計(jì)在下拉菜單中加入子菜單并進(jìn)行監(jiān)聽(tīng),分別實(shí)現(xiàn)對(duì)文件的操作功能。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同界面。3:代碼設(shè)計(jì)編寫(xiě)每個(gè)控件的相關(guān)代碼,并進(jìn)行調(diào)試。3.1系統(tǒng)實(shí)施1:界面設(shè)計(jì)在文本域中顯示編輯的文件信息。創(chuàng)建一個(gè)下拉菜單和文本域主要代碼:f=newFrame(s);p1=newTextArea();f.setSize(400,600);f.setBackground(Colo

7、r.white);f.setVisible(true);menubar=newMenuBar();menul二newMenu(文件);menu2二newMenu(編輯);menu3=newMenu(幫助);item1=newMenultem(新建);item2二newMenultem(打開(kāi));item3=newMenultem(保存);item4=newMenultem(另存為);編揖亙制item5=newMenultem(退出);item6=newMenultem(全選);item7=newMenultem(復(fù)制);item8=newMenultem(剪切);item9=newMenulte

8、m(粘貼);item10=newMenultem(關(guān)于);menu1.add(item1);menu1.add(item2);menu1.add(item4);menu1.add(item5);menu2.add(item6);menu2.add(item7);menu2.add(item8);menu2.add(item9);menu3.add(item10);menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);f.setMenuBar(menubar);2:功能設(shè)計(jì)對(duì)每個(gè)菜單項(xiàng)進(jìn)行注冊(cè)監(jiān)聽(tīng)。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同界面。主要代

9、碼item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this);item5.addActionListener(this);item6.addActionListener(this);item7.addActionListener(this);item8.addActionListener(this);item9.addActionListener(this);item10.addActionListener(this

10、);3:代碼設(shè)計(jì)部分菜單項(xiàng)的相關(guān)代碼:新建文件if(e.getSource()=item1)if(i=0&(ss.length()!=0)bc();elsepl.setText();i=O;f.setTitie(文件對(duì)話框);打開(kāi)文件if(e.getSource()=item2)fd=newFileDialogf,打開(kāi)文件,0);fd.setVisible(true);tryfile=newFile(fd.getDirectory(),fd.getFile();f.setTitle(fd.getFile()+文件對(duì)話框);FileReaderfr=newFileReader(file);Buf

11、feredReaderbr=newBufferedReader(fr);Stringline=null;Stringview=;while(line=br.readLine()!=null)view+=line+n;p1.setText(view);br.close();fr.close();catch(IOExceptionexpIn)復(fù)制文件if(e.getSource()=item7)tryStringstr=p1.getSelectedText();if(str.length()!=0)strt=str;catch(Exceptionex)粘貼文件if(e.getSource()=it

12、em9)if(strt.length()0)p1.insert(strt,p1.getCaretPosition();退出記事本if(e.getSource()=item5)if(i=0&(ss.length()!=0)bc();elseSystem.exit(0);系統(tǒng)的調(diào)試和運(yùn)行1:界面調(diào)試確定主窗體,設(shè)置主窗體的屬性,對(duì)窗體進(jìn)行布局,加入所需控件并對(duì)控件進(jìn)行初始化。在完成加入菜單控件后,不能缺少f.setMenuBar(menubar);語(yǔ)句,將menubar設(shè)為主窗體的菜單條,否則會(huì)看不到菜單欄。如圖:2:功能調(diào)試對(duì)所有菜單項(xiàng)進(jìn)行注冊(cè)監(jiān)聽(tīng)。當(dāng)進(jìn)行除保存以外的菜單項(xiàng)的功能外,在actio

13、nPerformed中要編寫(xiě)判斷界面是否已經(jīng)打開(kāi)或者編輯了文件,如果是,在進(jìn)行別的功能之前,先對(duì)本文件的保存功能,以免文件的丟失。在具體實(shí)現(xiàn)中可以用變量i來(lái)判斷文件是否處于保存狀態(tài)。if(e-get-Gourc:e(J=it-em1Jif(i=0&(33.lengthf)!=0)如果沒(méi)有保存就是進(jìn)個(gè)bc()j五、課程設(shè)計(jì)總結(jié)本次課程設(shè)計(jì),讓我獲益匪淺,不僅更深入的了解Java這門(mén)學(xué)科,更使自己有了繼續(xù)探索的興趣。于個(gè)人而言,在程序設(shè)計(jì)的過(guò)程中,我深感“認(rèn)真嚴(yán)謹(jǐn)”這個(gè)詞的重要性,一點(diǎn)點(diǎn)小的馬虎,便會(huì)導(dǎo)致整個(gè)程序不能正常運(yùn)行。在今后的學(xué)習(xí)中,我定將“認(rèn)真嚴(yán)謹(jǐn)時(shí)刻作為自的謹(jǐn)言。與此同時(shí),本小組成員的

14、互幫互助,讓我體會(huì)到了團(tuán)結(jié)的力量,而更讓人難以忘懷的是在熱烈討論問(wèn)題時(shí),那激情橫溢的場(chǎng)面??傊舜握n程設(shè)計(jì)在我的學(xué)生生涯中啟上了至關(guān)重要的作用。最后,真誠(chéng)的感謝陳珂、顧成喜老師的指導(dǎo)和教誨。六、參考文獻(xiàn)按照以下格式書(shū)寫(xiě)權(quán)明富,齊佳音,舒華英客戶價(jià)值評(píng)價(jià)指標(biāo)體系設(shè)計(jì)J.南開(kāi)管理評(píng)論,2004,7(3):17-18.劉小洪,鄒鵬.商業(yè)銀行客戶關(guān)系價(jià)值管理模型研究J.管理科學(xué),2005,18(3):57-60.附錄(源程序代碼)importjava.io.*;importjava.awt.*;importjava.awt.event.*;classFileInAndOutpublicstaticS

15、tringfileInput(StringfName)StringstrRead=;tryFileReaderfr=newFileReader(fName);BufferedReaderbr=newBufferedReader(fr);Stringaline=newString();while(aline=br.readLine()!=null)strRead=strRead+aline;br.close();fr.close();catch(FileNotFoundExceptione)e.printStackTrace();catch(IOExceptione)e.printStackTr

16、ace();returnstrRead;publicstaticvoidfileWrite(StringfName,Stringtemp)tryFileWriterfw=newFileWriter(fName);BufferedWriterbw=newBufferedWriter(fw);bw.write(temp);bw.close();fw.close();catch(IOExceptione)e.printStackTrace();publicclassMyNoteimplementsActionListenerprivateFramef;privateTextAreata;privat

17、eMenuBarmb;privateStringstrme=文件,“編輯,“幫助;privateStringstrmi=新建,“打開(kāi),保存,退出,剪切,拷貝,粘貼,查找,關(guān)于;privateStringfileDir,fileName,temp=;privateMenume;privateMenuItemmi;privateLabell1,l2;privateTextFieldt1,t2;privateButtonb1,b2,b3;privateDialogdiaFind,diaAbout;publicMyNote()f=newFrame(”無(wú)標(biāo)題-我的記事本”);ta=newTextArea

18、();f.add(ta);mb=newMenuBar();f.setMenuBar(mb);mi=newMenuItemstrme.length;me=newMenustrme.length;for(inti=0;istrme.length;i+)mei=newMenu(strmei);mb.add(mei);mii=newMenuItemstrmii.length;for(intj=0;jstrmii.length;j+)miij=newMenuItem(strmiij);mei.add(miij);miij.addActionListener(this);f.addWindowListen

19、er(newWindowAdapter()publicvoidwindowClosing(WindowEvente)System.exit(0););f.setSize(400,300);f.show();diaFind=newDialog(f,查找,true);diaFind.setLayout(newFlowLayout();diaFind.setSize(260,120);l1=newLabel(查找內(nèi)容);l2=newLabel(替換為);t1=newTextField(20);t2=newTextField(20);b1=newButton(”下一個(gè)”);b2=newButton(“

20、替換“);b3=newButton(“取消“);diaFind.add(l1);diaFind.add(t1);diaFind.add(l2);diaFind.add(t2);diaFind.add(b1);diaFind.add(b2);diaFind.add(b3);diaFind.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)diaFind.dispose(););publicvoidactionPerformed(ActionEvente)Stringcmd=e.getActionCommand();if(cmd.equals(新建)fileDir=;fileName=;ta.setText();f.setTitle(”無(wú)標(biāo)題-我的記事本);if(cmd.equals(打開(kāi))FileDialogdiaOpen=newFileDialog(f,FileDialog.LOAD);diaOpen.show();fileDir=diaOpen.getDirectory();fileName=diaOpen.getFile();if(!fileName.equals()

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論