仿windows JAVA 課程設(shè)計(jì) 記事本_第1頁
仿windows JAVA 課程設(shè)計(jì) 記事本_第2頁
仿windows JAVA 課程設(shè)計(jì) 記事本_第3頁
仿windows JAVA 課程設(shè)計(jì) 記事本_第4頁
仿windows JAVA 課程設(shè)計(jì) 記事本_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

./前言隨時(shí)著科學(xué)技術(shù)的快速發(fā)展,計(jì)算機(jī)程序設(shè)計(jì)早已成為了趨勢,JAVA是計(jì)算機(jī)專業(yè)的核心課程,是計(jì)算機(jī)科學(xué)的算法理論基礎(chǔ)和軟件設(shè)計(jì)的技術(shù)基礎(chǔ)。JAVA是實(shí)踐性很強(qiáng)的課程。課程設(shè)計(jì)是加強(qiáng)實(shí)踐能力的一個(gè)強(qiáng)有力手段。要求掌握J(rèn)AVA的應(yīng)用、編寫、上機(jī)調(diào)試的基本方法。本課程設(shè)計(jì)就是主要利用java語言編寫的一個(gè)模仿windows記事本的較簡單的程序,實(shí)現(xiàn)了一些基本功能,要求打開文件,讀取文件中的文本信息;顯示、編輯修改文本信息;實(shí)現(xiàn)輸入文本文件、控制保存文本信息到指定的文件的功能。目錄一、需求分析……1二、概要設(shè)計(jì)……1三、詳細(xì)設(shè)計(jì)……2四、系統(tǒng)調(diào)試分析………………6五、課程設(shè)計(jì)心得體會(huì)…………7六、使用說明……7七、參考文獻(xiàn)及致……………7附錄〔程序源代碼………7一、需求分析該課程設(shè)計(jì)報(bào)告里的簡易記事本程序是使用Java程序設(shè)計(jì)語言編寫的,要現(xiàn)記事本的基本功能,參考了windows中記事本的一些功能。要求打開文件,讀取文件中的文本信息;顯示、編輯修改文本信息;實(shí)現(xiàn)新建、打開、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。二、概要設(shè)計(jì)1.1系統(tǒng)主要功能本程序是利用java程序設(shè)計(jì)語言編寫的一個(gè)簡單的記事本程序??梢酝ㄟ^菜單欄和工具欄實(shí)現(xiàn)以下功能:如文件的新建,打開,保存和退出;對文件的編輯,如復(fù)制,剪切,粘貼;以及幫助菜單;執(zhí)行完操作后,能夠順利關(guān)閉記事本。1.2運(yùn)行環(huán)境要求<1>實(shí)現(xiàn)設(shè)計(jì)的系統(tǒng)硬件需求硬件配置的基本要求:*586以上的計(jì)算機(jī)*32MB以上的存*彩色顯示器*3.5寸高密軟盤驅(qū)動(dòng)器*光盤驅(qū)動(dòng)器*4G以上硬盤空間*鼠標(biāo)<2>實(shí)現(xiàn)設(shè)計(jì)的系統(tǒng)軟件*WINDOWS95或WINDOWS98*JcreatorPro全套軟件三、詳細(xì)設(shè)計(jì)設(shè)計(jì)思路:設(shè)計(jì)一個(gè)EditorDemo類,繼承自JFrame類,并在EditorDemo類利用JtextPane創(chuàng)建面板窗口textPane,利用Jlabel創(chuàng)建狀態(tài)欄statusBar,利用JFileChooser創(chuàng)建文件選擇器filechooser,利用JMenuBar創(chuàng)建并實(shí)例化菜單欄,利用JToolBar創(chuàng)建工具欄,再通過一些具體方法實(shí)現(xiàn)各功能鍵的功能。建立構(gòu)造函數(shù)publicEditorDemo<>;通過該構(gòu)造函數(shù)實(shí)現(xiàn)記事本程序的主要功能,運(yùn)行時(shí)在主類過調(diào)用該構(gòu)造函數(shù)來實(shí)現(xiàn)對記事本程序的基本操作。1:窗口設(shè)計(jì)在主接口中設(shè)計(jì)一個(gè)EditorDemo容器繼承自JFrame,并在其中加入菜單欄、工具欄和一個(gè)文本域控件。publicclassEditorDemoextendsJFrameJTextPanetextPane=newJTextPane<>;//創(chuàng)建文本窗格,編輯窗口JFileChooserfilechooser=newJFileChooser<>;//文件選擇器setJMenuBar<createJMenuBar<actions>>;//設(shè)置菜單欄Containercontainer=getContentPane<>;//得到容器container.add<createJToolBar<actions>,BorderLayout.NORTH>;//工具欄container.add<textPane,BorderLayout.CENTER>;//增加文本窗格2:功能設(shè)計(jì)〔1在下拉菜單中加入子菜單并進(jìn)行監(jiān)聽,分別實(shí)現(xiàn)對文件的操作功能。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同接口。privateJMenuBarcreateJMenuBar<Action[]actions>//創(chuàng)建菜單欄 JMenuBarmenubar=newJMenuBar<>;//實(shí)例化菜單欄 JMenumenuFile=newJMenu<"文件<F>">;//實(shí)例化菜單JMenumenuEdit=newJMenu<"編輯<E>">; JMenumenuFormat=newJMenu<"格式<O>">; JMenumenuFind=newJMenu<"查找<V>">; JMenumenuAbout=newJMenu<"幫助<H>">; menuFile.add<newJMenuItem<actions[0]>>;//增加新菜單項(xiàng) menuFile.add<newJMenuItem<actions[1]>>; menuFile.add<newJMenuItem<actions[2]>>; menuFile.addSeparator<>; menuFile.add<newJMenuItem<actions[7]>>; menuEdit.add<newJMenuItem<actions[3]>>; menuEdit.add<newJMenuItem<actions[4]>>; menuEdit.add<newJMenuItem<actions[5]>>; menuAbout.add<newJMenuItem<actions[6]>>; menubar.add<menuFile>;//增加菜單 menubar.add<menuEdit>; menubar.add<menuFormat>; menubar.add<menuFind>; menubar.add<menuAbout>; returnmenubar;//返回菜單欄如下圖:〔2加入工具欄的功能鍵,通過工具欄實(shí)現(xiàn)對文本的基本操作。Action[]actions=//Action數(shù)組,各種操作命令 newNewAction<>, newOpenAction<>, newSaveAction<>, newCutAction<>, newCopyAction<>, newPasteAction<>, newAboutAction<>, newExitAction<>,privateJToolBarcreateJToolBar<Action[]actions>//創(chuàng)建工具條 JToolBartoolBar=newJToolBar<>;//實(shí)例化工具條 JButtonbt=newJButton<actions[i]>;//實(shí)例化新的按鈕 toolBar.add<bt>;//增加按鈕到工具欄如圖所示:〔3對每個(gè)菜單項(xiàng)進(jìn)行注冊監(jiān)聽。點(diǎn)擊不同功能鍵時(shí),實(shí)現(xiàn)不同的操作,顯示不同的窗口。主要實(shí)現(xiàn)方法代碼如下:classNewActionextendsAbstractAction{//實(shí)現(xiàn)新建文件命令功能 publicNewAction<>{ super<"新建文本">;} publicvoidactionPerformed<ActionEvente>{ textPane.setDocument<newDefaultStyledDocument<>>;//清空文檔 }}classOpenActionextendsAbstractAction{//實(shí)現(xiàn)打開文件命令功能 publicOpenAction<>{ super<"打開文本">;} publicvoidactionPerformed<ActionEvente>{ inti=filechooser.showOpenDialog<EditorDemo.this>;//顯示打開文件對話框 if<i==JFileChooser.APPROVE_OPTION>{//點(diǎn)擊對話框中打開選項(xiàng) Filef=filechooser.getSelectedFile<>;//得到選擇的文件 try{ InputStreamis=newFileInputStream<f>;//得到文件輸入流 textPane.read<is,"d">;//讀入文件到文本窗格 }catch<Exceptionex>{ ex.printStackTrace<>;//輸出出錯(cuò)信息 }}}}如下圖: classSaveActionextendsAbstractAction{//實(shí)現(xiàn)保存文本命令 publicSaveAction<>{ super<"保存文本">;} publicvoidactionPerformed<ActionEvente>{ inti=filechooser.showSaveDialog<EditorDemo.this>;//顯示保存文件對話框 if<i==JFileChooser.APPROVE_OPTION>{//點(diǎn)擊對話框中保存按鈕 Filef=filechooser.getSelectedFile<>;//得到選擇的文件 try{ FileOutputStreamout=newFileOutputStream<f>;//得到文件輸出流 out.write<textPane.getText<>.getBytes<>>;//寫出文件 }catch<Exceptionex>{ ex.printStackTrace<>;//輸出出錯(cuò)信息 }}}}如下圖:classExitActionextendsAbstractAction{//實(shí)現(xiàn)退出命令 publicExitAction<>{ super<"退出系統(tǒng)">;} publicvoidactionPerformed<ActionEvente>{ System.exit<0>;//退出程序}}classCutActionextendsAbstractAction{//實(shí)現(xiàn)剪切命令 publicCutAction<>{ super<"剪切">;} publicvoidactionPerformed<ActionEvente>{ textPane.cut<>;//調(diào)用文本窗格的剪切命令}}classCopyActionextendsAbstractAction{//實(shí)現(xiàn)拷貝命令 publicCopyAction<>{ super<"拷貝">;} publicvoidactionPerformed<ActionEvente>{textPane.copy<>;//調(diào)用文本窗格的拷貝命令classPasteActionextendsAbstractAction{//實(shí)現(xiàn)粘貼命令publicPasteAction<>{ super<"粘貼">;} publicvoidactionPerformed<ActionEvente>{ textPane.paste<>;//調(diào)用文本窗格的粘貼命令}}classAboutActionextendsAbstractAction{//關(guān)于版本命令 publicAboutAction<>{ super<"版本">;} publicvoidactionPerformed<ActionEvente>{Stringstr="簡易記事本\n\版本:1.0\n作者:郭孔明\n主要功能:實(shí)現(xiàn)簡單文本編輯。 JOptionPane.showMessageDialog<EditorDemo.this,str>;//顯示軟件信息 }}如下圖:四、系統(tǒng)調(diào)試分析1:窗口調(diào)試確定主窗體,設(shè)置主窗體的屬性,對窗體進(jìn)行布局,加入所需控件并對控件進(jìn)行初始化。在完成所有方法的源代碼編輯后,對程序進(jìn)行編譯、運(yùn)行!會(huì)出現(xiàn)窗體如下圖:2:功能調(diào)試對所有菜單項(xiàng)進(jìn)行注冊監(jiān)聽。在編寫觸發(fā)事件時(shí)執(zhí)行各項(xiàng)操作,包括了一些常用部分的事件處理,實(shí)現(xiàn)各功能鍵的操作。例如當(dāng)點(diǎn)擊"文件"按鈕是顯示如下窗口:當(dāng)需要打開已存在的文件時(shí),點(diǎn)擊"打開文本"按鈕會(huì)出現(xiàn)如下窗口:當(dāng)輸入完文本是要保存的話,點(diǎn)擊"保存文本"會(huì)出現(xiàn)下面的窗口:依次調(diào)試其他功能鍵及窗口,直至達(dá)到符合要求的能實(shí)現(xiàn)簡易的記事本的功能!五、課程設(shè)計(jì)心得經(jīng)過java記事本的課程設(shè)計(jì),我在老師的指導(dǎo)下,順利完成該課程設(shè)計(jì)。通過這次課程設(shè)計(jì),我收獲到了很多,這次JAVA課程設(shè)計(jì)給我的最大的印象就是如果自己有了興趣,就動(dòng)手去做。我加深了對Java語言的理論知識(shí)的理解;我更加熟練的掌握了Java語言的設(shè)計(jì)能力并且有了實(shí)踐經(jīng)驗(yàn);在設(shè)計(jì)過程中,學(xué)到了許多老師沒有在課堂上沒有教授的知識(shí);加強(qiáng)了對Java語言的學(xué)習(xí)興趣和好感,很是受益匪淺。六、使用說明本課程設(shè)計(jì)的簡易計(jì)算本通過在JAVA平臺(tái)編譯、運(yùn)行源代碼,打開計(jì)算本窗口,在編輯區(qū)進(jìn)行文本的輸入,可以使用剪切、拷貝、粘貼等功能鍵,當(dāng)文本輸入完畢后點(diǎn)擊"文件"菜單,選擇下拉菜單中的"保存文本"打開"保存"窗口,選擇保存文件的根目錄進(jìn)行保存。當(dāng)需要關(guān)閉窗口時(shí)可通過"文件"菜單下的"退出系統(tǒng)"選項(xiàng),或者選擇"工具欄"中的"退出系統(tǒng)"按鈕,也可以直接點(diǎn)擊窗口右上角的關(guān)閉圖標(biāo)進(jìn)行關(guān)閉。七.參考文獻(xiàn)及致參考文獻(xiàn):洪維恩何嘉java2面向?qū)ο蟪绦蛟O(shè)計(jì).中國鐵道,2004.2致:在本次設(shè)計(jì)的過程中,各位老師給了我很大的幫助,不僅使我在規(guī)定的時(shí)間完成了系統(tǒng)的設(shè)計(jì),同時(shí)還使我學(xué)到了很多有益的知識(shí)和寶貴的經(jīng)驗(yàn)。在此,我向幫助我的老師們表示最衷心的感。由于本人水平有限,其中肯定會(huì)有一些不當(dāng)之處,請老師批評(píng)指正。八、附錄〔程序源代碼程序源代碼://簡單的文本編輯器importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjavax.swing.*;importjavax.swing.text.*;publicclassEditorDemoextendsJFrame{JTextPanetextPane=newJTextPane<>;//文本窗格,編輯窗口 JLabelstatusBar=newJLabel<>;//狀態(tài)欄 JFileChooserfilechooser=newJFileChooser<>;//文件選擇器publicEditorDemo<>{//構(gòu)造函數(shù) super<"簡易記事本">;//調(diào)用父類構(gòu)造函數(shù)Action[]actions=//Action數(shù)組,各種操作命令 { newNewAction<>, newOpenAction<>, newSaveAction<>, newCutAction<>, newCopyAction<>, newPasteAction<>, newAboutAction<>, newExitAction<>, }; setJMenuBar<createJMenuBar<actions>>;//設(shè)置菜單欄 Containercontainer=getContentPane<>;//得到容器 container.add<createJToolBar<actions>,BorderLayout.NORTH>;//增加工具欄 container.add<textPane,BorderLayout.CENTER>;//增加文本窗格 container.add<statusBar,BorderLayout.SOUTH>;//增加狀態(tài)欄setSize<500,400>;//設(shè)置窗口尺寸 setVisible<true>;//設(shè)置窗口可視 setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;//關(guān)閉窗口時(shí)退出程序 } privateJMenuBarcreateJMenuBar<Action[]actions>{//創(chuàng)建菜單欄 JMenuBarmenubar=newJMenuBar<>;//實(shí)例化菜單欄 JMenumenuFile=newJMenu<"文件<F>">;//實(shí)例化菜單 JMenumenuEdit=newJMenu<"編輯<E>">; JMenumenuFormat=newJMenu<"格式<O>">; JMenumenuFind=newJMenu<"查找<V>">; JMenumenuAbout=newJMenu<"幫助<H>">; menuFile.add<newJMenuItem<actions[0]>>;//增加新菜單項(xiàng) menuFile.add<newJMenuItem<actions[1]>>; menuFile.add<newJMenuItem<actions[2]>>; menuFile.addSeparator<>; menuFile.add<newJMenuItem<actions[7]>>; menuEdit.add<newJMenuItem<actions[3]>>; menuEdit.add<newJMenuItem<actions[4]>>; menuEdit.add<newJMenuItem<actions[5]>>; menuAbout.add<newJMenuItem<actions[6]>>; menubar.add<menuFile>;//增加菜單 menubar.add<menuEdit>; menubar.add<menuFormat>; menubar.add<menuFind>; menubar.add<menuAbout>; returnmenubar;//返回菜單欄 } privateJToolBarcreateJToolBar<Action[]actions>{//創(chuàng)建工具條 JToolBartoolBar=newJToolBar<>;//實(shí)例化工具條 for<inti=0;i<actions.length;i++>{ JButtonbt=newJButton<actions[i]>;//實(shí)例化新的按鈕 bt.setRequestFocusEnabled<false>;//設(shè)置不需要焦點(diǎn) bt.setFont<newFont<"宋體",Font.PLAIN,12>>; bt.setBackground<Color.pink>; toolBar.add<bt>;//增加按鈕到工具欄 } returntoolBar;//返回工具欄 } classNewActionextendsAbstractAction{//新建文件命令 publicNewAction<>{ super<"新建文本">; } publicvoidactionPerformed<ActionEvente>{ textPane.setDocument<newDefaultStyledDocument<>>;//清空文檔 } } classOpenActionextendsAbstractAction{//打開文件命令 publicOpenAction<>{ super<"打開文本">; } publicvoidactionPerformed<ActionEvente>{ inti=filechooser.showOpenDialog<EditorDemo.this>;//顯示打開文件對話框 if<i==JFileChooser.APPROVE_OPTION>{//點(diǎn)擊對話框中打開選項(xiàng) Filef=filechooser.getSelectedFile<>;//得到選擇的文件 try{ InputStreamis=newFileInputStream<f>;//得到文件輸入流 textPane.read<is,"d">;//讀入文件到文本窗格 }catch<Exceptionex>{ ex.printStackTrace<>;//輸出出錯(cuò)信息 } } } } classSaveActionextendsAbstractAction{//保存命令 publicSaveAction<>{ super<"保存文本">; } publicvoidactionPerformed<ActionEvente>{ inti=filechooser.showSaveDialog<EditorDemo.this>;//顯示保存文件對話框 if<i==JFileChooser.APPROVE_OPTION>{//點(diǎn)擊對話框中保存按鈕 Filef=filechooser.getSelectedFile<>;//得到選擇的文件 try{ FileOutputStreamout=newFileOutputStream<f>;//得到文件輸出流 out.write<textPane.getText<>.getBytes<>>;//寫出文件 }catch<Exceptionex>{ ex.printStackTrace<>;//輸出出錯(cuò)信息 }

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論