Java課程設(shè)計(jì)報(bào)告記事本程序_第1頁(yè)
Java課程設(shè)計(jì)報(bào)告記事本程序_第2頁(yè)
Java課程設(shè)計(jì)報(bào)告記事本程序_第3頁(yè)
Java課程設(shè)計(jì)報(bào)告記事本程序_第4頁(yè)
Java課程設(shè)計(jì)報(bào)告記事本程序_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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、目 錄摘要1前言21設(shè)計(jì)分析21.1需求分析21.2功能設(shè)計(jì)32. 概要設(shè)計(jì)32.1程序設(shè)計(jì)思路32.2程序模塊說(shuō)明32.3程序流程圖52.4 程序相關(guān)說(shuō)明63. 程序詳細(xì)設(shè)計(jì)與分析63.1 初始化組件63.2構(gòu)建菜單欄及其下拉菜單64運(yùn)行界面及操作流程105源程序清單126設(shè)計(jì)體會(huì)17參考文獻(xiàn)17記事本程序的設(shè)計(jì)摘要該報(bào)告中的程序是使用Java程序編寫,能夠進(jìn)行輸入文字操作,并具有新建文件,打開文件,保存文件,退出,復(fù)制,粘貼,剪切等功能,不同之處是本程序能夠?qū)ξ淖值念伾M(jìn)行設(shè)置。該程序主要用到了Java swing。關(guān)鍵字:記事本程序;Java語(yǔ)言;Creator前言Java的前身是Oak

2、,它一開始只是被應(yīng)用于消費(fèi)性電子產(chǎn)品中。后來(lái)它的開發(fā)者們發(fā)現(xiàn)它還可以被用于更大范圍的Internet上。1995年,Java語(yǔ)言的名字從Oak編程了Java。1997年J2SE1.1發(fā)布。1998年J2SE1.2發(fā)布,標(biāo)志Java2的誕生。十多年來(lái),Java編程語(yǔ)言及平臺(tái)成功地運(yùn)用在網(wǎng)絡(luò)計(jì)算及移動(dòng)等各個(gè)領(lǐng)域。Java的體系結(jié)構(gòu)由Java語(yǔ)言、Java class、Java API、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)有Java ME,Java S

3、E和Java EE。Java發(fā)展到今天,它的卓越成就及在業(yè)界的地位毋庸置疑。目前在眾多的支持Java的開發(fā)工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 簡(jiǎn)稱JDK是大多開發(fā)工具的基礎(chǔ)。以上的每種開發(fā)工具都有優(yōu)缺點(diǎn),對(duì)于開發(fā)者來(lái)說(shuō),重要的是要根據(jù)自己的開發(fā)規(guī)模、開發(fā)內(nèi)容和軟硬件環(huán)境等因素來(lái)選擇一種合適的開發(fā)工具。在本程序設(shè)計(jì)中,因?yàn)樾枰_發(fā)的是記事本程序,規(guī)模較小,內(nèi)容較少,所以選擇了適合初學(xué)者使用的Creator開發(fā)工具。1設(shè)計(jì)分析1.1需求分

4、析現(xiàn)在網(wǎng)絡(luò)上各種文檔編輯器數(shù)不勝數(shù),有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad+,win32pad ,SkimEdit,UniRed, xint 。功能也是應(yīng)有盡有,有能改變字體的,有能改變文字顏色的。但是,這些軟件又存在各種各樣的瑕疵或問(wèn)題:有的文件體積相對(duì)于一般文字編輯來(lái)說(shuō)太大;有的功能太繁雜,使初級(jí)使用者一時(shí)難以掌握。僅從日常應(yīng)用方面來(lái)說(shuō),一個(gè)文本編輯器只需一些簡(jiǎn)單實(shí)用的功能就夠了。本程序設(shè)計(jì)就是依照這樣一種使用需要設(shè)計(jì)了一個(gè)簡(jiǎn)單的記事本程序。1.2功能設(shè)計(jì)本程序要構(gòu)建的記事本程序參照了Windows操作系統(tǒng)的記事本工具,其功能有以下

5、幾個(gè)方面:(1)菜單中有“文件”,“編輯”,“查看”,“格式”,“幫助”五個(gè)主菜單。(2)“文件”有“新建”“打開”“保存”“退另存為”“退出”等幾個(gè)子菜單:分別用于新建文件,打開文件,保存文件,退出記事本。(3)“編輯”中有“剪切”“復(fù)制”“粘貼”“查找”“查找/替換”等幾個(gè)子菜單。分別用于剪切文字,復(fù)制文字,粘貼文字,查找、替換文字進(jìn)行設(shè)置。(4)格式操作:可以對(duì)文中的字體設(shè)置顏色、字號(hào)、字型等格式操作。(5)查看操作:可以顯示工具欄和狀態(tài)欄。 2.概要設(shè)計(jì)2.1程序設(shè)計(jì)思路在本程序中,設(shè)計(jì)了一個(gè)菜單欄和文本內(nèi)容區(qū)。設(shè)計(jì)過(guò)程中用到了J Scroll Pane ,J Menu,J Text

6、Pane,J File Chooser等。Menus用來(lái)制作菜單,菜單包括“文件”“編輯”“關(guān)于”。J Text Pane主要用來(lái)輸入文本。為了加入顏色的設(shè)置,所以加了一個(gè)Color Chooser組件。2.2程序模塊說(shuō)明圖ImplementsAction Listenermy notepadFrameExtends 圖1在圖1中,首先創(chuàng)建一個(gè)名為my notepad的類并繼承Frame類作為最底層的容器。my notepad的構(gòu)造方法初始化容器組件初始化初始化菜單欄文字輸入?yún)^(qū)查看格式編輯文件字型顏色查找粘貼復(fù)制剪切退出保存打開新建 圖2 在圖2中,構(gòu)造一個(gè)my notepad類時(shí)要做兩件事情

7、,分別是初始化容器、初始化組件。2.3程序流程圖啟動(dòng)程序輸入文字 False False 關(guān)于顏色粘貼復(fù)制退出剪切保存打開新建 true true true true true true true trueAbout show filecolorOpen fileSavingContent pasteContent copySystem .exit(0)Content cut關(guān)閉或退出程序 圖32.4程序相關(guān)說(shuō)明整個(gè)記事本分為2快:菜單欄和內(nèi)容輸入?yún)^(qū)。本程序中首先定義一個(gè)my notepad類繼承Frame作為最底層容器。 (1).Text content為程序文本輸入?yún)^(qū)。 (2).Menu為

8、菜單欄。 (3).About Dialog為關(guān)于對(duì)話框。 (4).要想記事本完成需求分析中相應(yīng)的功能,還必須添加事件監(jiān)聽器。事件監(jiān)聽器不僅要添加在菜單欄和內(nèi)容輸入?yún)^(qū),還需加在容器中。本程序中Act Listener實(shí)現(xiàn)了Action Listener接口,用來(lái)監(jiān)聽并處理所有菜單項(xiàng)和內(nèi)容輸入?yún)^(qū)為事件源的事件。 另外,還用來(lái)Window Listener來(lái)監(jiān)聽處理容器關(guān)閉觸發(fā)的事件,Window Listener繼承了Windows Adapter類并覆蓋了Windows Closing方法。3.程序詳細(xì)設(shè)計(jì)與分析3.1.初始化組件Init Text Content (); Init Menu (

9、); Init about Dialog ();3.2.構(gòu)建菜單欄及其下拉菜單Menu menus=new Menu new Menu("文件"),new Menu("編輯"),new Menu("關(guān)于");J Menu Item option of menu =new J Menu Itemnew J Menu Item("新建"),new J Menu Item("打開"),new J Menu Item("保存"),new J Menu Item("退出&qu

10、ot;) , new J Menu Item("復(fù)制"), new J Menu Item("剪切"),new J Menu Item("粘貼"),new J Menu Item("顏色") , new J Menu Item("幫助") ; 4運(yùn)行界面及操作流程(1)文本打開、新建、保存等基本操作圖4(2)文本編輯功能: 圖5(3)文件菜單中的“打開”對(duì)話框圖65源程序清單Import java. Act;Import java. Act .event;Import java swing;Im

11、port java swing. Event;Import java. Ion;Import java .until;Import java .text;Public class Jab Boolean dirty=true;String text=""J Frame frame=new J Frame("我的記事本");J Popup Menu pop=new J Popup Menu("彈出");J Text Area text=new J Text Area ();J Label stat bar=new J Label(&qu

12、ot;狀態(tài)欄");Member Mbar=new J Menu Bar ();J File Chooser jFileChooser1=new J File Chooser ();J Color Chooser j Color=new J Color Chooser ();J Menu j File=new J Menu("文件");J Menu j Edit=new Menu("編輯");Menu format=new Menu("格式");Menu help=new Menu("幫助");J Menu

13、 Item j new=new J Menu Item("新建(N)");public Jab() /無(wú)參數(shù)的構(gòu)造函數(shù)This dirty=false;Final Border Layout borderLayout1=new Border Layout ();Frame set Size (600,500);/Frame Add Window Listener (new Jab frame closing Adapter (this);Panel panel=new Panel ();Panel set Layout(borderLayout1);/布局Panel add

14、(new J Scroll Pane(text);/滾動(dòng)條Panel add (stat bar , border Layout1.SOUTH);Frame get Content Pane ().add (panel); Frame Set J Menu Bar (Mbar); /將主菜單添加到窗體中j newj new. Add Action Listener (new File new action Adapter (this);New set Mnemonic(N);/N上下劃線j new. Set Accelerator (Key stroke. Get Key Stroke(N,j

15、ava act event. CTRL _MASK true);/快捷方式* j openJ Menu Item j open=new J Menu Item("打開(O)");/j openJ open add Action Listener (new File_ open_ action Adapter (this);J open set Mnemonic(O);J open set accelerator (Key Stroke. Get Key Stroke(O,java. Act event. CTRL_MASK, true);* j saveJ Menu Ite

16、m j save=new J Menu Item("保存(S)");J save Add Action Listener (new File save action Adapter (this);J save .set Mnemonic(S);J saves. Set Accelerator (Key Stroke. get Key Stroke (S, java act .Event. CTRL_ MASK, true);* j save asJ Menu Item j saves=new J Menu Item("另存為.");J saves .ad

17、d Action Listener (new File _saves_ action Adapter (this);* j quiteJ Menu Item j quite=new J Menu Item("關(guān)閉(Q)");J quite adds action Listener (new File _quite_ action Adapter (this);j quite. set Mnemonic(Q);j quite set Accelerator(Key Stroke get Key Stroke(Q, java .act .Event .CTRL MASK ,tr

18、ue); j File code of end* j Edit codeJ Menu Item judo=new J Menu Item("撤銷(U)");J undo add Action Listener (new Edit_ undo_ action Adapter (this);J undo .set Mnemonic(U);J undo set accelerator (Key stroke. Get Key Stroke(U, java .act .Event .CTRL MASK ,true);* j cutJ Menu Item j cut=new J Me

19、nu Item("剪切(X)");J cut. Add Action Listener (new Edit_ cut_ action Adapter (this);J cut. Set Mnemonic(X);J cut. Set Accelerator(Key Stroke .get Key Stroke(X,java. Act event. CTRL MASK, true);* j copyMenu Item copy=new J Menu Item("復(fù)制(C)");J copy Add Action Listener (new Edit copy

20、 action Adapter (this);J copy set Mnemonic(C);J copy set Accelerator (Key Stroke. Get Key Stroke(C,java act event. CTRL_ MASK, true);* j pasteJ Menu Item j paste=new J Menu Item("粘貼(V)");J paste add Action Listener(new Edit paste action Adapter (this);J paste set Mnemonic(V);J paste set Ac

21、celerator (Key Stroke. Get Key Stroke(V,java. Act event. CTR MASK, true);* deleteJ Menu Item delete=new J Menu Item("刪除(D)");J delete add Action Listener (new Edit delete action Adapter (this);J delete set Mnemonic(D);J delete set Accelerator (Key Stroke. get Key Stroke (D,java act Event.

22、CTRL MASK, true);* j findJ Menu Item j find=new J Menu Item("查找(F)");J find add Action Listener (new Edit find action Adapter (this);j find set Mnemonic (F);j find set Accelerator (Key Stroke. get Key Stroke (F,java. Act Event. CTRL MASK, true);* replaceJ Menu Item replace=new J Menu Item(

23、"替換(R)");J replace. add Action Listener(new Edit replace action Adapter (this);J replace. Set Mnemonic(R);J replace set keystroke. jokey stroke (R,java. Act TRL ASK, rue); Texttext.setDoubleBuffered(false);text.setToolTipText("我的記事本");text.setVerifyInputWhenFocusTarget(true);text

24、.setText("");text.addCaretListener(new Jsb_text_caretAdapter(this);text.addMouseListener(new Jsb_text_mouseAdapter(this);text.addAncestorListener(new Jsb_text_ancestorAdapter(this);Mbar.add(jFile);Mbar.add(jEdit);Mbar.add(jFormat);Mbar.add(jHelp);jFile.add(jnew);jFile.add(jopen);jFile.addS

25、eparator();jFile.add(jsave);jFile.add(jsaveas);jFile.addSeparator();jFile.add(jquite);jEdit.add(jundo);jEdit.addSeparator();jEdit.add(jcut);jEdit.add(jcopy);jEdit.add(jpaste);jEdit.add(jdelete);jEdit.addSeparator();jEdit.add(jfind);jEdit.add(jreplace);jEdit.addSeparator();jEdit.add(jselectall);jEdit

26、.add(jdate);jFormat.add(jword);jFormat.addSeparator();jFormat.add(jfont);this.save();jFormat.addSeparator(); Event/public void frame_windowclose_windowClosing(WindowListener e)this.close(); public void text_ mouse Clicked(Mouse Event e)if(e.getModifiers()=InputEvent.BUTTON3_MASK)pop.show(Component)e.getSource(),e.getX(),e.getY();public void text_ancestorAdded(AncestorEvent e)this.dirty=false;this.newtext();public void text_caretUpdate(CaretEvent e) this.dirt

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論