Java課程設(shè)計(jì)報(bào)告記事本源代碼有流程圖_第1頁
Java課程設(shè)計(jì)報(bào)告記事本源代碼有流程圖_第2頁
Java課程設(shè)計(jì)報(bào)告記事本源代碼有流程圖_第3頁
Java課程設(shè)計(jì)報(bào)告記事本源代碼有流程圖_第4頁
Java課程設(shè)計(jì)報(bào)告記事本源代碼有流程圖_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE11Java課程設(shè)計(jì)報(bào)告題目:簡(jiǎn)單記事本程序的設(shè)計(jì)年級(jí)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)號(hào):學(xué)生姓名:指導(dǎo)老師:完成時(shí)間:目錄摘要 1前言 21需求分析 21.1需求分析 21.2功能設(shè)計(jì) 32.概要設(shè)計(jì) 32.1程序設(shè)計(jì)思路 32.2程序運(yùn)行界面 32.3模塊說明圖 42.4程序流程圖 52.5程序相關(guān)說明 63.程序詳細(xì)設(shè)計(jì)與分析 63.1.初始化組件 63.2.構(gòu)建菜單欄及其下拉菜單 63.3.“文件”菜單的事件監(jiān)聽 73.4.“編輯”菜單的事件監(jiān)聽 83.5.異常處理 94.測(cè)試分析 105.源程序清單 126.課程設(shè)計(jì)總結(jié) 17參考文獻(xiàn) 17簡(jiǎn)單記事本程序的設(shè)計(jì)前言Java的前身是Oak,它一開始只是被應(yīng)用于消費(fèi)性電子產(chǎn)品中。后來它的開發(fā)者們發(fā)現(xiàn)它還可以被用于更大范圍的Internet上。1995年,Java語言的名字從Oak編程了Java。1997年J2SE1.1發(fā)布。1998年J2SE1.2發(fā)布,標(biāo)志Java2的誕生。十多年來,Java編程語言及平臺(tái)成功地運(yùn)用在網(wǎng)絡(luò)計(jì)算及移動(dòng)等各個(gè)領(lǐng)域。Java的體系結(jié)構(gòu)由Java語言、Javaclass、JavaAPI、Java虛擬機(jī)組成。它具有簡(jiǎn)單、面向?qū)ο蟆⒔?、安全、結(jié)構(gòu)中立、可移植和高效能等眾多優(yōu)點(diǎn)。Java支持多線程編程,Java運(yùn)行時(shí)系統(tǒng)在多線程同步方面具有成熟的解決方案。Java的平臺(tái)標(biāo)準(zhǔn)有JavaME,JavaSE和JavaEE。Java發(fā)展到今天,它的卓越成就及在業(yè)界的地位毋庸置疑。目前在眾多的支持Java的開發(fā)工具中主要的7有JavaDevelopmentKit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中JavaDevelopmentKit簡(jiǎn)稱JDK是大多開發(fā)工具的基礎(chǔ)。以上的每種開發(fā)工具都有優(yōu)缺點(diǎn),對(duì)于開發(fā)者來說,重要的是要根據(jù)自己的開發(fā)規(guī)模、開發(fā)內(nèi)容和軟硬件環(huán)境等因素來選擇一種合適的開發(fā)工具。在本程序設(shè)計(jì)中,因?yàn)樾枰_發(fā)的是記事本程序,規(guī)模較小,內(nèi)容較少,所以選擇了適合初學(xué)者使用的JCreator開發(fā)工具。2.3模塊說明圖implementsActionListenerimplementsActionListenermynotepadmynotepadJFrameextendsJFrameextends圖1在圖1中,首先創(chuàng)建一個(gè)名為mynotepad的類并繼承JFrame類作為最底層的容器。mynotepad的構(gòu)造方法mynotepad的構(gòu)造方法添加事件監(jiān)聽初始化容器添加事件監(jiān)聽初始化容器組件組件初始化初始化初始化初始化文字輸入?yún)^(qū)菜單欄文字輸入?yún)^(qū)菜單欄關(guān)于編輯文件關(guān)于編輯文件關(guān)于顏色粘貼復(fù)制剪切退出保存打開新建關(guān)于顏色粘貼復(fù)制剪切退出保存打開新建圖2在圖2中,構(gòu)造一個(gè)mynotepad類時(shí)要做三件事情,分別是初始化容器(initTextContent)、初始化組件(initMenu、initAboutDialog)、設(shè)置事件監(jiān)聽器。2.4程序流程圖啟動(dòng)程序啟動(dòng)程序輸入文字輸入文字FalseFalse關(guān)于顏色粘貼復(fù)制退出剪切保存打開新建關(guān)于顏色粘貼復(fù)制退出剪切保存打開新建truetruetruetruetruetruetruetrueabout.show()file=nullabout.show()file=nullcolorfile=openfilecolorfile=openfilesavingsavingcontent.pastecontent.pastecontent.copy()System.exit(0)content.copy()System.exit(0)content.cut()content.cut()關(guān)閉或退出程序關(guān)閉或退出程序圖33.5.異常處理在運(yùn)行程序代碼是有可能會(huì)產(chǎn)生異常情況或異常事件,為了避免這種情況,就需要在程序中用到Java異常處理機(jī)制。本程序中選用的異常處理機(jī)制是try,catch。捕獲處理異常的第一步是用try選定要監(jiān)控的異常范圍,try后跟隨catch代碼塊。saving(){try{FileWriterWritef=newFileWriter(file);Writef.write(content.getText());Writef.close();}catch(Exceptione){e.printStackTrace();}}voidunfold(){try{FileReaderReadf=newFileReader(file);intlen=(int)file.length();char[]buffer=newchar[len];Readf.read(buffer,0,len);Readf.close();content.setText(newString(buffer));}catch(Exceptione){e.printStackTrace();}}6.課程設(shè)計(jì)總結(jié)經(jīng)過差不多兩個(gè)星期的努力,基本上完成我的Java課程設(shè)計(jì)—簡(jiǎn)單的記事本程序,也基本上實(shí)現(xiàn)了我在需求分析時(shí)所預(yù)期的功能。通過這次的課程設(shè)計(jì),使將我從書本上學(xué)習(xí)到的理論知識(shí)用到了實(shí)踐上,從而進(jìn)一步鞏固和豐富了我所學(xué)過的知識(shí),讓我更深層次地認(rèn)識(shí)到Java及其強(qiáng)大的功能。同時(shí),做這門課程設(shè)計(jì)也進(jìn)一步加強(qiáng)了我的動(dòng)手能力。為了完成好這次課程設(shè)計(jì),我提前做了較多的準(zhǔn)備,一邊上網(wǎng)查找相關(guān)資料,另一方面查閱相關(guān)書籍。在這過程中也無形中鍛煉了我的思維分析、遇到問題及想方設(shè)法通過各種途徑解決問題的能力。但是,設(shè)計(jì)過程中也存在一些問題,本來一開始想給這個(gè)記事本程序加上一張背景圖片,以及添加字體設(shè)置功能,但是由于本人知識(shí)淺陋以及各種其他原因,使得這些想法沒有實(shí)現(xiàn),這是這次課程設(shè)計(jì)的一點(diǎn)遺憾。參考文獻(xiàn)[1].孫全黨王吳迪趙楓朝,Java程序設(shè)計(jì)應(yīng)用教程,電子工業(yè)出版社,2006.2[2].雷之宇,Java項(xiàng)目開發(fā)實(shí)踐—網(wǎng)絡(luò)篇,中國鐵道出版社,2005.5[3].趙玉陽,Java從入門到精通,清華大學(xué)出版社,2006.8[4].李蘢怡,Java編程實(shí)例講解,高等教育出版社,2005.11完整代碼:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;classmynotepadextendsJFrame{Filefile=null; Colorcolor=Color.red; mynotepad(){initTextContent(); initMenu(); initAboutDialog(); } voidinitTextContent(){ getContentPane().add(newJScrollPane(content)); }JTextPanecontent=newJTextPane();JFileChooseropenfile=newJFileChooser();JColorChooseropencolor=newJColorChooser();JDialogabout=newJDialog(this);JMenuBarmenu=newJMenuBar(); JMenu[]menus=newJMenu[]{ newJMenu("文件"), newJMenu("編輯"), newJMenu("關(guān)于") }; JMenuItemoptionofmenu[][]=newJMenuItem[][]{{ newJMenuItem("新建"), newJMenuItem("打開"), newJMenuItem("保存"), newJMenuItem("退出") }, { newJMenuItem("復(fù)制"), newJMenuItem("剪切"), newJMenuItem("粘貼"), newJMenuItem("顏色")},{newJMenuItem("關(guān)于")}};voidinitMenu(){ for(inti=0;i<menus.length;i++){ menu.add(menus[i]); for(intj=0;j<optionofmenu[i].length;j++){ menus[i].add(optionofmenu[i][j]); optionofmenu[i][j].addActionListener(action); } } this.setJMenuBar(menu);}ActionListeneraction=newActionListener(){publicvoidactionPerformed(ActionEvente){ Stringname=e.getActionCommand(); JMenuItemMI=(JMenuItem)e.getSource(); if("新建".equals(name)){ content.setText(""); file=null; }elseif("打開".equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showOpenDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();unfold();} }elseif("保存".equals(name)){ if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showSaveDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();saving();}}elseif("退出".equals(name)){mynotepadf=newmynotepad();ints=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION);if(s==JOptionPane.YES_OPTION)System.exit(0);}elseif("剪切".equals(name)){content.cut();}elseif("復(fù)制".equals(name)){content.copy();}elseif("粘貼".equals(name)){content.paste();}elseif("顏色".equals(name)){color=JColorChooser.showDialog(mynotepad.this,"",color);content.setForeground(color);}elseif("關(guān)于".equals(name)){about.setSize(300,150);about.show();}}};voidsaving(){try{FileWriterWritef=newFileWriter(file);Writef.write(content.getText());Writef.close();}catch(Exceptione){e.printStackTrace();}}voidunfold(){try{FileReaderReadf=newFileReader(file);intlen=(int)file.length();char[]buffer=newchar[len];Readf.read(buffer,0,len);Readf.close();content.setText(newString(buffer));}catch(Exceptione){e.pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論