




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、java程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告院 系:信一工程系專業(yè):計(jì)算機(jī)應(yīng)用技術(shù)班級:11計(jì)算機(jī)01班姓名:civen任課教師: xxx實(shí)驗(yàn)題目:java簡單記事本程序設(shè)計(jì)、引言21.1 課程設(shè)計(jì)目的21.2 題目說明21.3 開發(fā)工具介紹2二、總體設(shè)計(jì) 2.1 系統(tǒng)開發(fā)平臺(tái)2.2 系統(tǒng)流程圖2.3 功能結(jié)構(gòu)圖.2.4 數(shù)據(jù)庫設(shè)計(jì).三、詳細(xì)說明.-4 -4 -4錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。4-11 -3.1系統(tǒng)實(shí)施四、系統(tǒng)的調(diào)試和運(yùn)行 9五、課程設(shè)計(jì)總結(jié) 9六、參考文獻(xiàn) 9附錄(源程序代碼)10一、引言1.1 課程設(shè)計(jì)目的1)復(fù)習(xí),鞏固java語言的基礎(chǔ)知識(shí),進(jìn)一步加深對 java語言的理解和掌握;2)
2、課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實(shí)際問題的能力,提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力;3)培養(yǎng)學(xué)生在項(xiàng)目開發(fā)中團(tuán)隊(duì)合作精神,創(chuàng)新意識(shí)及能力。1 .掌握窗口、菜單等高級組件的應(yīng)用。2 .掌握java swing的使用方法。3 . 了解gui應(yīng)用程序的創(chuàng)建過程與方法。1.2 題目說明課題:學(xué)生成績管理4 .功能要求:編寫一個(gè)簡單記事本程序,要求包含以下菜單項(xiàng)文件 新建、打開、保存、退出編輯剪切、拷貝、粘貼、查找?guī)椭P(guān)于5 .實(shí)現(xiàn)文件和編輯菜單里的功能1.3 開發(fā)工具介紹eclipse 是一種可擴(kuò)展的開放源代碼ide。200
3、1年11月,ibm公司捐出價(jià)值4,000萬美元的源代碼組建了 eclipse聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具的后續(xù)開發(fā)。集成開發(fā) 環(huán)境(ide)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(ide)克服目前的局限性, 業(yè)界廠商合作創(chuàng)建了 eclipse平臺(tái)。eclipse允許在同 一 ide 中集成來自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了 項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。利用eclipse ,我們可以將高級設(shè)計(jì)(也許是采用uml用低級開發(fā)工具(如應(yīng)用調(diào)試 器等 ) 結(jié)合在一起。 如果這些互相補(bǔ)充的獨(dú)立工具采用 eclipse
4、 擴(kuò)展點(diǎn)彼此連接, 那么當(dāng) 我們用調(diào)試器逐一檢查應(yīng)用時(shí),umlm話框可以突出顯示我們正在關(guān)注的器件。事實(shí)上,由于eclipse并不了解開發(fā)語言,所以無論 java語言調(diào)t器、c/c+調(diào)試器還是匯編調(diào) 試器都是有效的,并可以在相同的框架內(nèi)同時(shí)瞄準(zhǔn)不同的進(jìn)程或節(jié)點(diǎn)。eclipse 的最大特點(diǎn)是它能接受由 java 開發(fā)者自己編寫的開放源代碼插件, 這類似 微軟公司的 visual studio 和 sun 微系統(tǒng)公司的 netbeans 平臺(tái)。 eclipse 為工具開發(fā)商 提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。 eclipse 聯(lián)盟已經(jīng)宣布將 在 2004 年中期發(fā)布其3.0 版
5、軟件。這是一款非常受歡迎的 java 開發(fā)工具,這國內(nèi)的用戶越來越多,實(shí)際上實(shí)用它 java 開發(fā)人員是最多的。缺點(diǎn)就是較復(fù)雜,對初學(xué)者來說, 理解起來較困難。二、總體設(shè)計(jì)2.1 系統(tǒng)開發(fā)平臺(tái)前端使用java設(shè)計(jì)2.2系統(tǒng)流程圖圖3.1主流程圖2.3 功能結(jié)構(gòu)圖3.2.2 “文件”菜單操作流程圖開始“文件”菜單用 jfilechooser()選擇文件另存的路徑另存為圖3.2 “文件”菜單操作流程圖用sava()保存文件用unfold()讀取所選的文件內(nèi)容到記事本退出或關(guān)閉3.2.3 “編輯”菜單操作流程圖圖3.3 “編輯”菜單操作流程圖3.2.4 “幫助”菜單操作流程圖圖3.4 “幫助”菜單操
6、作流程圖三、詳細(xì)說明設(shè)計(jì)兩個(gè)類,一個(gè)jsb類,具有程序的要求和功能再創(chuàng)建一個(gè)keshe主類,在主類中創(chuàng)建一個(gè)jsb類的對象,就可以直接在編譯器中運(yùn)行程序。1:界面設(shè)計(jì)在主界面中設(shè)計(jì)一個(gè)frame容器,并在其中加入一個(gè)下拉菜單和一個(gè)文本域控件,把該容器設(shè)置為 gridlayout(1,1)布局。2:功能設(shè)計(jì)在下拉菜單中加入子菜單并進(jìn)行監(jiān)聽,分別實(shí)現(xiàn)對文件的操作功能。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同界面。3 :代碼設(shè)計(jì)編寫每個(gè)控件的相關(guān)代碼,并進(jìn)行調(diào)試。3.1 系統(tǒng)實(shí)施1:界面設(shè)計(jì)創(chuàng)建一個(gè)下拉菜單和文本域,在文本域中顯示編輯的文件信息。主要代碼:f=new frame(s);p1=new textare
7、a(); culc al at nr. 件對話推f.setsize(400,600);f.setbackground(color.white);jif.setvisible(true);s cjicj.atirgii iice f:l武成:w bob? b3un 卬diilbmt bh勺 ijiekchl:hhid tf:menubar=new menubar();menu1=new menu(文件);privit? urng s,席:山 cilalildr cd * tin cklculilnro pciytte %:menu2=new menu(編輯);menu3=new menu(幫助)
8、;item1=new menuitem(新建);item2=new menuitem( 打開);item3=new menuitem( 保存);item4=new menuitem( 另存為);t|c x|b方增延1item5=new menuitem( 退出);item6=new menuitem(全選);item7=new menuitem( 復(fù)制)item8=new menuitem( 剪切);item9=new menuitem(粘貼);item10=new menuitem( 關(guān)于)menul.add(iteml);menu1.add(item2);menu1.add(item4);
9、menu1.add(item5);menu2.add(item6);menu2.add(item7);menu2.add(item8);menu2.add(item9);menu3.add(item10);menubar.add(menul);menubar.add(menu2);menubar.add(menu3);f.setmenubar(menubar);2:功能設(shè)計(jì)對每個(gè)菜單項(xiàng)進(jìn)行注冊監(jiān)聽。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同界面。主要代碼 item1.addactionlistener(this);item2.addactionlistener(this);item3.addactionlis
10、tener(this);item4.addactionlistener(this);item5.addactionlistener(this);item6.addactionlistener(this);item7.addactionlistener(this);item8.addactionlistener(this);item9.addactionlistener(this);item10.addactionlistener(this);3:代碼設(shè)計(jì)部分菜單項(xiàng)的相關(guān)代碼:新建文件if (e.getsource()=item1) if (i=0&(ss.length()!=0) bc();
11、elsep1.settext();i=0;f.settitle(文件對話框); 打開文件if (e.getsource()=item2) fd=new filedialog(f, 打開文件 ,0);fd.setvisible(true);try file=new file(fd.getdirectory(),fd.getfile();f.settitle(fd.getfile()+”文件對話框”);filereader fr=new filereader(file);bufferedreader br=new bufferedreader(fr);string line = null;stri
12、ng view =;while(line=br.readline()!=null) view += line+n; p1.settext(view);br.close();fr.close(); catch(ioexception expin) 復(fù)制文件if (e.getsource()=item7) trystring str=p1.getselectedtext();if(str.length()!=0) strt=str; catch(exception ex) 粘貼文件if (e.getsource()=item9 ) if(strt.length()0) p1.insert(strt
13、,p1.getcaretposition();退出記事本if (e.getsource()=item5) if (i=0 &(ss.length()!=0) bc(); else system.exit(0); 四、系統(tǒng)的調(diào)試和運(yùn)行1:界面調(diào)試確定主窗體,設(shè)置主窗體的屬性, 對窗體進(jìn)行布局,加入所需控件并對控件進(jìn)行初始化。在完成加入菜單控件后,不能缺少f.setmenubar(menubar); 語句,將 menubar設(shè)為主窗體的菜單條,否則會(huì)看不到菜單欄。如圖: 同番的記事本13目區(qū)2:功能調(diào)試對所有菜單項(xiàng)進(jìn)行注冊監(jiān)聽。當(dāng)進(jìn)行除保存以外的菜單項(xiàng)的功能外,在actionperformed中要
14、編寫判斷界面是否已經(jīng)打開或者編輯了文件,如果是,在進(jìn)行別的功能之前,先對本文件的保存功能,以免文件的丟失。在具體實(shí)現(xiàn)中可以用變量i來判斷文件是否處于保存狀態(tài)。1 (e. get source ) = = 1, teml )if (i=0(33 . length( ) ! = d )如畀浸有保存就是建個(gè) bc( ) j五、課程設(shè)計(jì)總結(jié)本次課程設(shè)計(jì), 讓我獲益匪淺, 不僅更深入的了解java 這門學(xué)科, 更使自己有了繼續(xù)探索的興趣。于個(gè)人而言,在程序設(shè)計(jì)的過程中,我深感“認(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)言。與此同
15、時(shí),本小組成員的互幫互助,讓我體會(huì)到了團(tuán)結(jié)的力量,而更讓人難以忘懷的是在熱烈討論問題時(shí),那激情橫溢的場面??傊舜握n程設(shè)計(jì)在我的學(xué)生生涯中啟上了至關(guān)重要的作用。最后,真誠的感謝陳珂、顧成喜老師的指導(dǎo)和教誨。六、參考文獻(xiàn)按照以下格式書寫1 權(quán)明富,齊佳音,舒華英. 客戶價(jià)值評價(jià)指標(biāo)體系設(shè)計(jì)j. 南開管理評論, 2004 ,7(3):17-18.2 劉小洪,鄒鵬. 商業(yè)銀行客戶關(guān)系價(jià)值管理模型研究 j. 管理科學(xué), 2005 ,18(3):57-60.附錄(源程序代碼)import java.io.*;import java.awt.*;import java.awt.event.*;class
16、 fileinandout public static string fileinput(string fname)string strread=;try filereader fr=new filereader(fname);bufferedreader br=new bufferedreader(fr);string aline=new string();while(aline=br.readline()!=null) strread=strread+aline;br.close();fr.close(); catch (filenotfoundexception e) e.printst
17、acktrace(); catch (ioexception e) e.printstacktrace();return strread;public static void filewrite(string fname,string temp)try filewriter fw=new filewriter(fname);bufferedwriter bw=new bufferedwriter(fw);bw.write(temp);bw.close();fw.close(); catch (ioexception e) e.printstacktrace();public class myn
18、ote implements actionlistener private frame f;private textarea ta;private menubar mb;private string strme= 文件 ,編輯 ,幫助 ;private string strmi= 新建 ,打開 ,保存 , 退出 , 剪切 ,拷貝 ,粘貼 ,查找 , 關(guān)于 ;private string filedir,filename,temp=;private menu me;private menuitem mi;private label l1,l2;private textfield t1,t2;pr
19、ivate button b1,b2,b3;private dialog diafind,diaabout;public mynote()f=new frame(無標(biāo)題一我的記事本”);ta=new textarea();f.add(ta);mb=new menubar();f.setmenubar(mb);mi=new menuitemstrme.length;me=new menustrme.length;for(int i=0;istrme.length;i+)mei=new menu(strmei);mb.add(mei);mii=new menuitemstrmii.length;f
20、or(int j=0;jstrmii.length;j+)miij=new menuitem(strmiij);mei.add(miij);miij.addactionlistener(this);f.addwindowlistener(new windowadapter()public void windowclosing(windowevent e) system.exit(0););f.setsize(400,300);f.show();diafind=new dialog(f,查找,true);diafind.setlayout(new flowlayout();diafind.set
21、size(260,120);l1=new label(查找內(nèi)容);l2=new label(替換為)t1=new textfield(20);t2=new textfield(20);b1=new button(下一個(gè));b2=new button(替換)b3=new button(取消);diafind.add(l1);diafind.add(t1);diafind.add(l2);diafind.add(t2);diafind.add(b1);diafind.add(b2);diafind.add(b3);diafind.addwindowlistener(new windowadapte
22、r() public void windowclosing(windowevent e) diafind.dispose(););public void actionperformed(actionevent e)string cmd=e.getactioncommand();if(cmd.equals(新建)filedir=;filename=;ta.settext();f.settitle(無標(biāo)題一我的記事本);if(cmd.equals(打開)filedialog diaopen=new filedialog(f,filedialog.load);diaopen.show();filedir=diaopen.getdirectory();filename=diaopen
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 框架、技術(shù)與最佳實(shí)踐指南
- 餐飲連鎖店運(yùn)營管理及拓展策略
- 施工安全管理考核細(xì)則
- 農(nóng)業(yè)技術(shù)推廣創(chuàng)新模式指南
- 低空經(jīng)濟(jì)合作
- 農(nóng)業(yè)科技農(nóng)業(yè)種植技術(shù)推廣與應(yīng)用方案設(shè)計(jì)
- 庫存周轉(zhuǎn)率分析表格
- 婦產(chǎn)科護(hù)理復(fù)習(xí)試題含答案
- 三農(nóng)村居民法律援助服務(wù)手冊
- 企業(yè)文化塑造與團(tuán)隊(duì)建設(shè)演講致辭
- 不動(dòng)產(chǎn)登記中心服務(wù)行為規(guī)范辦法(試行)
- 《ISO 55013-2024 資產(chǎn)管理-數(shù)據(jù)資產(chǎn)管理指南》專業(yè)解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024C0)【第1部分:1-130】
- 軟件資格考試嵌入式系統(tǒng)設(shè)計(jì)師(基礎(chǔ)知識(shí)、應(yīng)用技術(shù))合卷(中級)試卷與參考答案(2024年)
- 2024年下半年杭州黃湖鎮(zhèn)招考編外工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 浙江省第五屆初中生科學(xué)競賽初賽試題卷
- 雷鋒精神在2024:新時(shí)代下的學(xué)習(xí)
- 竣工驗(yàn)收流程培訓(xùn)課件
- 2024年上海中考化學(xué)終極押題密卷三含答案
- DB14∕T 1334-2017 波形鋼腹板預(yù)應(yīng)力混凝土組合結(jié)構(gòu)橋梁懸臂施工與驗(yàn)收規(guī)范
- ECharts數(shù)據(jù)可視化課件 第4章 雷達(dá)圖、旭日圖和關(guān)系圖
- 幸福女人課件教學(xué)課件
評論
0/150
提交評論