JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)要點(diǎn)

上傳人:緣*** 文檔編號(hào):21567193 上傳時(shí)間:2021-05-04 格式:DOCX 頁(yè)數(shù):21 大?。?41.07KB
收藏 版權(quán)申訴 舉報(bào) 下載
JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)要點(diǎn)_第1頁(yè)
第1頁(yè) / 共21頁(yè)
JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)要點(diǎn)_第2頁(yè)
第2頁(yè) / 共21頁(yè)
JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)要點(diǎn)_第3頁(yè)
第3頁(yè) / 共21頁(yè)

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)要點(diǎn)》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《JAVA簡(jiǎn)單記事本程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告(帶源碼)要點(diǎn)(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 JAVA程序設(shè)計(jì) 實(shí) 驗(yàn) 報(bào) 告 院 系: 信息工程系 專(zhuān) 業(yè): 計(jì)算機(jī)應(yīng)用技術(shù) 班 級(jí): 11 計(jì)算機(jī) 01 班 姓 名: Civen 任課教師: XXX 實(shí)驗(yàn)題目: JAVA 簡(jiǎn)單記事本程序設(shè)計(jì) 目 錄 目 錄 1 一、引言 2 1.1 課程設(shè)計(jì)目的 2

2、 1.2 題目說(shuō)明 2 1.3 開(kāi)發(fā)工具介紹 2 二、總體設(shè)計(jì) - 4 - 2.1 系統(tǒng)開(kāi)發(fā)平臺(tái) - 4 - 2.2 系統(tǒng)流程圖 4 2.3 功能結(jié)構(gòu)圖 錯(cuò)誤!未定義書(shū)簽。 2.4 數(shù)據(jù)庫(kù)設(shè)計(jì) 錯(cuò)誤!未定義書(shū)簽。 三、詳細(xì)說(shuō)明 4 3.1 系統(tǒng)實(shí)施 - 11 - 四、系統(tǒng)的調(diào)試和運(yùn)行 9 五、課程設(shè)計(jì)總結(jié) 9 六、參考文獻(xiàn) 9 附錄(源程序代碼) 10 一、引言 1.1 課程設(shè)計(jì)目的 1) 復(fù)習(xí) , 鞏固 Java 語(yǔ)言

3、的基礎(chǔ)知識(shí),進(jìn)一步加深對(duì) Java 語(yǔ)言的理解和掌握; 2) 課程設(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í) 踐編程的能力; 3) 培養(yǎng)學(xué)生在項(xiàng)目開(kāi)發(fā)中團(tuán)隊(duì)合作精神,創(chuàng)新意識(shí)及能力。 1.掌握窗口、菜單等高級(jí)組件的應(yīng)用。 2.掌握 Java Swing 的使用方法。 3.了解 GUI 應(yīng)用程序的創(chuàng)建過(guò)程與方法。 1.2 題目說(shuō)明 課題:學(xué)生成績(jī)管理 4.功能要求 : 編寫(xiě)一個(gè)簡(jiǎn)單記事本程序,要求

4、包含以下菜單項(xiàng)文件 新建、打開(kāi)、保存、退出編輯 剪切、拷貝、粘貼、查找 幫助 關(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)用范圍限定

5、在“開(kāi)發(fā)、  構(gòu)建和調(diào)試”的周期之中。  為了幫助集成開(kāi) 發(fā)環(huán)境 (IDE) 克服目前的局限性, 業(yè)界廠(chǎng)商合作創(chuàng)建了 Eclipse 平臺(tái)。 Eclipse 允許在同 一 IDE 中集成來(lái)自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開(kāi)發(fā)者可以專(zhuān)注在實(shí)際的嵌入式目標(biāo)上。 利用 Eclipse ,我們可以將高級(jí)設(shè)計(jì) ( 也許是采用 UML)與低級(jí)開(kāi)發(fā)工具 ( 如應(yīng)用調(diào)試器等 ) 結(jié)合在一起。 如果這些互相補(bǔ)充的獨(dú)立工具采用 Eclipse 擴(kuò)展點(diǎn)彼此連接, 那么當(dāng)我們用調(diào)試器逐一檢查應(yīng)用

6、時(shí), UML對(duì)話(huà)框可以突出顯示我們正在關(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)似 Visual Studio 和 Sun 微系統(tǒng)公司的 NetBeans 平臺(tái)。Eclipse 為工具開(kāi)發(fā)商 提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。  Eclipse  聯(lián)盟已經(jīng)宣布將

7、 在 2004 年中期發(fā)布其  3.0 版軟件。這是一款非常受歡迎的  java  開(kāi)發(fā)工具,這國(guó)內(nèi)的用 戶(hù)越來(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)流程圖 新 打 保 另 剪 存

8、 建 開(kāi) 存 切 為  開(kāi)始 Y 輸入文字? N 復(fù) 粘 刪 查 替 全 關(guān) 制 貼 除 找 換 選 于 退 出 結(jié)束 圖 3.1 主流程圖 2.3 功能結(jié)構(gòu)圖 3.2.2 “文件”

9、菜單操作流程圖 開(kāi)始 “文件”菜單 新 建 File=null  打 保 存 開(kāi) 用 JFileChooser() 選擇 用 sava()保存文件 所有打開(kāi)文件路徑 用 unfold() 讀取所選的文件內(nèi)容到記事本 退出或關(guān)閉 N 文件是否修改

10、 Y 用 sava()保存文 用 close()關(guān)閉文件 結(jié)束  另 存 為 用 JFileChooser()選擇文件另存的路徑 用 sava()保存文件 圖 3.2 “文件”菜單操作流程圖 3.2.3 “編輯”菜單操作流程圖 開(kāi)始 “編輯”菜單 剪 復(fù) 粘 刪 查 替 全

11、 切 制 貼 除 找 換 選 設(shè)置修改 用 設(shè)置修改 設(shè)置修改標(biāo)簽, 用 用 標(biāo) 簽 , text.cop 標(biāo)簽, text.replaceRa FindAndRep text.sel text.cut() y() 實(shí)現(xiàn) text.paste( nge("",start, lace{} 方 法 ectAll() ) end); 實(shí)現(xiàn) 實(shí)現(xiàn) 退出或關(guān)閉 N 文件是否修改 Y 用 sava()保存文件并

12、 用 close()關(guān)閉文件 結(jié)束 圖 3.3 “編輯”菜單操作流程圖 3.2.4 “幫助”菜單操作流程圖 開(kāi)始 “幫助”菜單 關(guān)于記事本 顯示記事本的有關(guān)信息 結(jié)束 圖 3.4 “幫助”菜單操作流程圖 三、詳細(xì)說(shuō)明 設(shè)計(jì)兩個(gè)類(lèi),一個(gè)類(lèi),在主類(lèi)中創(chuàng)建一個(gè)  jsb jsb  類(lèi),具有程序的要求和功能再創(chuàng)建一個(gè) k

13、eshe 類(lèi)的對(duì)象,就可以直接在編譯器中運(yùn)行程序。  主 1:界面設(shè)計(jì) 在主界面中設(shè)計(jì)一個(gè) 域控件,把該容器設(shè)置為  Frame 容器,并在其中加入一個(gè)下拉菜單和一個(gè)文本 GridLayout(1,1) 布局。 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è)下拉菜單和文本域,在文本域中顯示編輯的文件信息。

14、 主要代碼: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu(" 文件 "); menu2=new Menu(" 編輯 "); menu3=new Menu(" 幫助 "); item1=new MenuItem(" 新建 "); item2=new

15、MenuItem(" 打開(kāi) "); item3=new MenuItem(" 保存 "); item4=new MenuItem(" 另存為 "); item5=new MenuItem(" 退出 "); item6=new MenuItem(" 全選 "); item7=new MenuItem(" 復(fù)制 "); item8=new MenuItem(" 剪切 "); item9=new MenuItem(" 粘貼 "); item10=new MenuItem(" 關(guān)于 "); menu1.add(item1);

16、 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)

17、。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同界面。 主要代碼 item1.addActionListener(this); item2.addActionListener(this); item3.addActionListener(this); item4.addActionListener(this); item5.addActionListener(this); item6.addActionListener(this); item7.addActionListener(this); item8.addActi

18、onListener(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(); } else p1.setText("");i=0;f.setTitle(" 文件對(duì)話(huà)框 "); } 打開(kāi)文件 if (e.getSo

19、urce()==item2) { fd=new FileDialog(f," 打開(kāi)文件 ",0); fd.setVisible(true); try{ file=new File(fd.getDirectory(),fd.getFile()); f.setTitle(fd.getFile()+" 文件對(duì)話(huà)框 "); FileReader fr=new FileReader(file); BufferedReader br=new BufferedReader(fr); String line = null;

20、 String view = ""; while((line=br.readLine())!=null) { view += line+"\n"; } p1.setText(view); br.close(); fr.close(); } catch(IOException expIn) {} } 復(fù)制文件 if (e.getSource()==item7) { try{ String str=p1.getSelectedText(); if(str.length()!=0) { strt=str;

21、 } }catch(Exception ex) { } } 粘貼文件 if (e.getSource()==item9 ) { if(strt.length()>0) { p1.insert(strt,p1.getCaretPosition()); } 退出記事本 if (e.getSource()==item5) { if (i==0 &&(ss.length()!=0)) { bc(); } else { System.exit(0); } }

22、四、系統(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)的功能外, 在 actionPerformed 中要編寫(xiě)判斷界面是否已經(jīng)打開(kāi)或者編輯了文件,如果是,在

23、進(jìn)行別的功能之前,先對(duì) 本文件的保存功能,以免文件的丟失。在具體實(shí)現(xiàn)中可以用變量 i 來(lái)判斷文件是否處于 保存狀態(tài)。 五、課程設(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í),本小組成員的互幫互助,讓我體會(huì)到了團(tuán)結(jié)的力量,而更讓 人難以忘懷的是在熱烈討論問(wèn)題時(shí),那激

24、情橫溢的場(chǎng)面??傊?,此次課程設(shè)計(jì)在我的學(xué) 生生涯中啟上了至關(guān)重要的作用。 最后,真誠(chéng)的感謝陳珂、顧成喜老師的指導(dǎo)和教誨。 六、參考文獻(xiàn) 按照以下格式書(shū)寫(xiě) [1] 權(quán)明富,齊佳音,舒華英 . 客戶(hù)價(jià)值評(píng)價(jià)指標(biāo)體系設(shè)計(jì)[J]. 南開(kāi)管理評(píng)論, 2004 , 7(3):17-18. [2] 劉小洪,鄒鵬 . 商業(yè)銀行客戶(hù)關(guān)系價(jià)值管理模型研究 [J]. 管理科學(xué), 2005 , 18(3):57-60. 附錄(源程序代碼) import java.io.*; import j

25、ava.awt.*; import java.awt.event.*; class 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)

26、strRead=strRead+aline; br.close(); fr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return strRead; } public static void fileWrite(String fName,String temp){ try { FileWriter fw=new FileWriter(fName); Buff

27、eredWriter bw=new BufferedWriter(fw); bw.write(temp); bw.close(); fw.close(); } catch (IOException e) { e.printStackTrace(); } } } public class MyNote implements ActionListener { private Frame f; private TextArea ta; private MenuBar mb; private String strme[]={" 文件

28、"," 編輯 "," 幫助 "}; private String strmi[][]={{" 新建 "," 打開(kāi) "," 保存 "," 退出 "}, {" 剪切 "," 拷貝 "," 粘貼 "," 查找 "}, {" 關(guān)于 "}}; private String fileDir,fileName,temp=""; private Menu me[]; private MenuItem mi[][]; private Label l1,l2; private TextField t1,t2; private Button b1,b2,b3; pri

29、vate Dialog diaFind,diaAbout; public MyNote(){ f=new Frame("無(wú)標(biāo)題 --我的記事本 "); ta=new TextArea(); f.add(ta); mb=new MenuBar(); f.setMenuBar(mb); mi=new MenuItem[strme.length][]; me=new Menu[strme.length]; for(int i=0;i

30、 mb.add(me[i]); mi[i]=new MenuItem[strmi[i].length]; for(int j=0;j

31、tem.exit(0); } }); f.setSize(400,300); f.show(); diaFind=new Dialog(f," 查找 ",true); diaFind.setLayout(new FlowLayout()); diaFind.setSize(260,120); l1=new Label(" 查找內(nèi)容 "); l2=new Label(" 替 換 為"); t1=new TextField(20); t2=new TextField(20); b1=new Button("下一個(gè) ");

32、 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 WindowAdapter(){ public void windowClosing(WindowEvent e){ diaFind

33、.dispose(); } }); } public void actionPerformed(ActionEvent e){ String cmd=e.getActionCommand(); if(cmd.equals("新建 ")){ fileDir=""; fileName=""; ta.setText(""); f.setTitle("無(wú)標(biāo)題 --我的記事本 "); } if(cmd.equals("打開(kāi) ")){ FileDialog diaOpen=new FileDialog(f,"",FileDialog.LOA

34、D); diaOpen.show(); fileDir=diaOpen.getDirectory(); fileName=diaOpen.getFile(); if(!fileName.equals("")){ ta.setText(FileInAndOut.fileInput(fileDir+fileName)); f.setTitle(fileName+"-- 我的記事本 "); } } if(cmd.equals("保存 ")){ FileDialog diaSave=new FileDialog(f,"",FileDialog.SA

35、 VE); diaSave.show(); fileDir=diaSave.getDirectory(); fileName=diaSave.getFile(); if(!fileName.equals("")){ FileInAndOut.fileWrite(fileDir+fileName,ta.getText()); f.setTitle(fileName+"-- 我的記事本 "); } } if(cmd.equals("退出 ")){ System.exit(0); } if(cmd.equals("剪切 ")){ in

36、t x,y; x=ta.getSelectionStart(); y=ta.getSelectionEnd(); temp=ta.getSelectedText(); ta.replaceRange("",x,y); } if(cmd.equals("拷貝 ")){ temp=ta.getSelectedText(); } if(cmd.equals("粘貼 ")){ ta.replaceRange(temp,ta.getSelectionStart(),ta.getSelectionEnd()); } if(cmd.equals("查找 ")){ diaFind.show(); } if(cmd.equals("關(guān)于 ")){ } } public static void main(String[] args) { new MyNote(); } }

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲