仿windowsJAVA課程設(shè)計記事本_第1頁
仿windowsJAVA課程設(shè)計記事本_第2頁
仿windowsJAVA課程設(shè)計記事本_第3頁
仿windowsJAVA課程設(shè)計記事本_第4頁
仿windowsJAVA課程設(shè)計記事本_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、前言 隨時著科學(xué)技術(shù)的快速發(fā)展,計算機程序設(shè)計早已成為了趨勢,JAVA是計算機專業(yè)的核心課程,是計算機科學(xué)的算法理論基礎(chǔ)和軟件設(shè)計的技術(shù)基礎(chǔ)。JAVA是實踐性很強的課程。課程設(shè)計是加強實踐能力的一個強有力手段。要求掌握J(rèn)AVA的應(yīng)用、編寫、上機調(diào)試的基本方法。本課程設(shè)計就是主要利用java語言編寫的一個模仿windows 記事本的較簡單的程序,實現(xiàn)了一些基本功能,要求打開文件,讀取文件中的文本信息;顯示、編輯修改文本信息;實現(xiàn)輸入文本文件、控制保存文本信息到指定的文件的功能 。目錄 一、需求分析1二、概要設(shè)計1 三、詳細(xì)設(shè)計2四、系統(tǒng)調(diào)試分析6五、課程設(shè)計心得體會7六、使用說明7七、參考文獻(xiàn)及

2、致謝7八、 附錄(程序源代碼)7一、需求分析該課程設(shè)計報告里的簡易記事本程序是使用Java程序設(shè)計語言編寫的,要求實現(xiàn)記事本的基本功能,參考了windows中記事本的一些功能。要求打開文件,讀取文件中的文本信息;顯示、編輯修改文本信息;實現(xiàn)新建、打開、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能 。二、 概要設(shè)計 1.1 系統(tǒng)主要功能本程序是利用java程序設(shè)計語言編寫的一個簡單的記事本程序。可以通過菜單欄和工具欄實現(xiàn)以下功能:如文件的新建,打開,保存和退出;對文件的編輯,如復(fù)制,剪切,粘貼;以及幫助菜單;執(zhí)行完操作后,能夠順利關(guān)閉記事本。1.2運行環(huán)境要求(1) 實現(xiàn)設(shè)計的系統(tǒng)

3、硬件需求 硬件配置的基本要求:* 586以上的計算機* 32MB以上的內(nèi)存* 彩色顯示器* 3.5寸高密軟盤驅(qū)動器* 光盤驅(qū)動器* 4G以上硬盤空間* 鼠標(biāo)(2) 實現(xiàn)設(shè)計的系統(tǒng)軟件* WINDOWS95或WINDOWS98* Jcreator Pro全套軟件三、詳細(xì)設(shè)計設(shè)計思路:設(shè)計一個EditorDemo類,繼承自JFrame類,并在EditorDemo類利用JtextPane創(chuàng)建面板窗口textPane,利用Jlabel創(chuàng)建狀態(tài)欄 statusBar,利用JFileChooser 創(chuàng)建文件選擇器filechooser,利用JMenuBar創(chuàng)建并實例化菜單欄,利用JToolBar創(chuàng)建工具欄

4、,再通過一些具體方法實現(xiàn)各功能鍵的功能。建立構(gòu)造函數(shù)public EditorDemo();通過該構(gòu)造函數(shù)實現(xiàn)記事本程序的主要功能,運行時在主類中通過調(diào)用該構(gòu)造函數(shù)來實現(xiàn)對記事本程序的基本操作。1:窗口設(shè)計 在主接口中設(shè)計一個EditorDemo容器繼承自JFrame,并在其中加入菜單欄、工具欄和一個文本域控件。 public class EditorDemo extends JFrameJTextPane textPane = new JTextPane(); /創(chuàng)建文本窗格,編輯窗口JFileChooser filechooser = new JFileChooser(); /文件選擇器s

5、etJMenuBar(createJMenuBar(actions); /設(shè)置菜單欄Container container = getContentPane(); /得到容器 container.add(createJToolBar(actions), BorderLayout.NORTH); /工具欄container.add(textPane, BorderLayout.CENTER); /增加文本窗格2:功能設(shè)計(1)在下拉菜單中加入子菜單并進行監(jiān)聽,分別實現(xiàn)對文件的操作功能。點擊不同菜單項時,顯示不同接口。private JMenuBar createJMenuBar(Action a

6、ctions) /創(chuàng)建菜單欄JMenuBar menubar = new JMenuBar(); /實例化菜單欄JMenu menuFile = new JMenu(文件(F); /實例化菜單 JMenu menuEdit = new JMenu(編輯(E);JMenu menuFormat = new JMenu(格式(O);JMenu menuFind = new JMenu(查找(V);JMenu menuAbout = new JMenu(幫助(H);menuFile.add(new JMenuItem(actions0); /增加新菜單項menuFile.add(new JMenuI

7、tem(actions1);menuFile.add(new JMenuItem(actions2);menuFile.addSeparator();menuFile.add(new JMenuItem(actions7);menuEdit.add(new JMenuItem(actions3);menuEdit.add(new JMenuItem(actions4);menuEdit.add(new JMenuItem(actions5);menuAbout.add(new JMenuItem(actions6);menubar.add(menuFile); /增加菜單menubar.add

8、(menuEdit);menubar.add(menuFormat);menubar.add(menuFind);menubar.add(menuAbout);return menubar; /返回菜單欄如下圖:(2)加入工具欄的功能鍵,通過工具欄實現(xiàn)對文本的基本操作。Action actions = /Action數(shù)組,各種操作命令new NewAction(),new OpenAction(),new SaveAction(),new CutAction(),new CopyAction(),new PasteAction(),new AboutAction(),new ExitActio

9、n(),private JToolBar createJToolBar(Action actions) /創(chuàng)建工具條JToolBar toolBar = new JToolBar(); /實例化工具條 JButton bt = new JButton(actionsi); /實例化新的按鈕toolBar.add(bt); /增加按鈕到工具欄如圖所示:(3)對每個菜單項進行注冊監(jiān)聽。點擊不同功能鍵時,實現(xiàn)不同的操作,顯示不同的窗口。主要實現(xiàn)方法代碼如下:class NewAction extends AbstractAction /實現(xiàn)新建文件命令功能public NewAction() sup

10、er(新建文本);public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); /清空文檔class OpenAction extends AbstractAction /實現(xiàn)打開文件命令功能public OpenAction() super(打開文本);public void actionPerformed(ActionEvent e) int i = filechooser.showOpenDialog(EditorDemo.this); /顯示打開文件對話框if (

11、i = JFileChooser.APPROVE_OPTION) /點擊對話框中打開選項File f = filechooser.getSelectedFile(); /得到選擇的文件try InputStream is = new FileInputStream(f); /得到文件輸入流textPane.read(is, d); /讀入文件到文本窗格 catch (Exception ex) ex.printStackTrace(); /輸出出錯信息如下圖:class SaveAction extends AbstractAction /實現(xiàn)保存文本命令public SaveAction()

12、 super(保存文本);public void actionPerformed(ActionEvent e) int i = filechooser.showSaveDialog(EditorDemo.this); /顯示保存文件對話框if (i = JFileChooser.APPROVE_OPTION) /點擊對話框中保存按鈕File f = filechooser.getSelectedFile(); /得到選擇的文件try FileOutputStream out = new FileOutputStream(f); /得到文件輸出流out.write(textPane.getTex

13、t().getBytes(); /寫出文件 catch (Exception ex) ex.printStackTrace(); /輸出出錯信息如下圖:class ExitAction extends AbstractAction /實現(xiàn)退出命令public ExitAction() super(退出系統(tǒng));public void actionPerformed(ActionEvent e) System.exit(0); /退出程序class CutAction extends AbstractAction /實現(xiàn)剪切命令public CutAction() super(剪切);public

14、 void actionPerformed(ActionEvent e) textPane.cut(); /調(diào)用文本窗格的剪切命令class CopyAction extends AbstractAction /實現(xiàn)拷貝命令public CopyAction() super(拷貝);public void actionPerformed(ActionEvent e) textPane.copy(); /調(diào)用文本窗格的拷貝命令class PasteAction extends AbstractAction /實現(xiàn)粘貼命令public PasteAction() super(粘貼);public

15、void actionPerformed(ActionEvent e) textPane.paste(); /調(diào)用文本窗格的粘貼命令class AboutAction extends AbstractAction /關(guān)于版本命令public AboutAction() super(版本);public void actionPerformed(ActionEvent e) String str=簡易記事本n版本:1.0n作者:郭孔明n主要功能:實現(xiàn)簡單文本編輯。 JOptionPane.showMessageDialog(EditorDemo.this, str); /顯示軟件信息如下圖:四、

16、系統(tǒng)調(diào)試分析1:窗口調(diào)試確定主窗體,設(shè)置主窗體的屬性,對窗體進行布局,加入所需控件并對控件進行初始化。在完成所有方法的源代碼編輯后,對程序進行編譯、運行!會出現(xiàn)窗體如下圖: 2:功能調(diào)試對所有菜單項進行注冊監(jiān)聽。在編寫觸發(fā)事件時執(zhí)行各項操作,包括了一些常用部分的事件處理,實現(xiàn)各功能鍵的操作。例如 當(dāng)點擊“文件“按鈕是顯示如下窗口:當(dāng)需要打開已存在的文件時,點擊“打開文本”按鈕會出現(xiàn)如下窗口: 當(dāng)輸入完文本是要保存的話,點擊“保存文本”會出現(xiàn)下面的窗口: 依次調(diào)試其他功能鍵及窗口,直至達(dá)到符合要求的能實現(xiàn)簡易的記事本的功能!五、課程設(shè)計心得 經(jīng)過java記事本的課程設(shè)計,我在老師的指導(dǎo)下,順利完

17、成該課程設(shè)計。通過這次課程設(shè)計,我收獲到了很多,這次JAVA課程設(shè)計給我的最大的印象就是如果自己有了興趣,就動手去做。我加深了對Java語言的理論知識的理解;我更加熟練的掌握了Java語言的設(shè)計能力并且有了實踐經(jīng)驗;在設(shè)計過程中,學(xué)到了許多老師沒有在課堂上沒有教授的知識;加強了對Java語言的學(xué)習(xí)興趣和好感,很是受益匪淺。六、使用說明 本課程設(shè)計的簡易計算本通過在JAVA平臺編譯、運行源代碼,打開計算本窗口,在編輯區(qū)進行文本的輸入,可以使用剪切、拷貝、粘貼等功能鍵,當(dāng)文本輸入完畢后點擊“文件”菜單,選擇下拉菜單中的“保存文本”打開“保存”窗口,選擇保存文件的根目錄進行保存。當(dāng)需要關(guān)閉窗口時可通

18、過“文件”菜單下的“退出系統(tǒng)”選項,或者選擇“工具欄”中的“退出系統(tǒng)”按鈕,也可以直接點擊窗口右上角的關(guān)閉圖標(biāo)進行關(guān)閉。七參考文獻(xiàn)及致謝參考文獻(xiàn): 洪維恩 何嘉 java 2面向?qū)ο蟪绦蛟O(shè)計. 中國鐵道出版社,2004.2致謝:在本次設(shè)計的過程中, 各位老師給了我很大的幫助,不僅使我在規(guī)定的時間內(nèi)完成了系統(tǒng)的設(shè)計,同時還使我學(xué)到了很多有益的知識和寶貴的經(jīng)驗。在此,我向幫助我的老師們表示最衷心的感謝。由于本人水平有限,其中肯定會有一些不當(dāng)之處,請老師批評指正。 八、附錄(程序源代碼)程序源代碼:/簡單的文本編輯器import java.awt.*;import java.awt.event.*;

19、import java.io.*;import javax.swing.*;import javax.swing.text.*;public class EditorDemo extends JFrame JTextPane textPane = new JTextPane(); /文本窗格,編輯窗口JLabel statusBar = new JLabel(); /狀態(tài)欄JFileChooser filechooser = new JFileChooser(); /文件選擇器public EditorDemo() /構(gòu)造函數(shù)super(簡易記事本); /調(diào)用父類構(gòu)造函數(shù)Action acti

20、ons = /Action數(shù)組,各種操作命令new NewAction(),new OpenAction(),new SaveAction(),new CutAction(),new CopyAction(),new PasteAction(),new AboutAction(),new ExitAction(),;setJMenuBar(createJMenuBar(actions); /設(shè)置菜單欄Container container = getContentPane(); /得到容器container.add(createJToolBar(actions), BorderLayout.N

21、ORTH); /增加工具欄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)閉窗口時退出程序private JMenuBar createJMenuBar(Action actions) /創(chuàng)建菜單欄JMenuBar menubar =

22、 new JMenuBar(); /實例化菜單欄JMenu menuFile = new JMenu(文件(F); /實例化菜單JMenu menuEdit = new JMenu(編輯(E);JMenu menuFormat = new JMenu(格式(O);JMenu menuFind = new JMenu(查找(V);JMenu menuAbout = new JMenu(幫助(H);menuFile.add(new JMenuItem(actions0); /增加新菜單項menuFile.add(new JMenuItem(actions1);menuFile.add(new JM

23、enuItem(actions2);menuFile.addSeparator();menuFile.add(new JMenuItem(actions7);menuEdit.add(new JMenuItem(actions3);menuEdit.add(new JMenuItem(actions4);menuEdit.add(new JMenuItem(actions5);menuAbout.add(new JMenuItem(actions6);menubar.add(menuFile); /增加菜單menubar.add(menuEdit);menubar.add(menuFormat

24、);menubar.add(menuFind);menubar.add(menuAbout);return menubar; /返回菜單欄private JToolBar createJToolBar(Action actions) /創(chuàng)建工具條JToolBar toolBar = new JToolBar(); /實例化工具條for (int i = 0; i actions.length; i+) JButton bt = new JButton(actionsi); /實例化新的按鈕bt.setRequestFocusEnabled(false); /設(shè)置不需要焦點bt.setFont(

25、new Font(宋體,Font.PLAIN,12);bt.setBackground(Color.pink);toolBar.add(bt); /增加按鈕到工具欄return toolBar; /返回工具欄class NewAction extends AbstractAction /新建文件命令public NewAction() super(新建文本);public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); /清空文檔class OpenAction exte

26、nds AbstractAction /打開文件命令public OpenAction() super(打開文本);public void actionPerformed(ActionEvent e) int i = filechooser.showOpenDialog(EditorDemo.this); /顯示打開文件對話框if (i = JFileChooser.APPROVE_OPTION) /點擊對話框中打開選項File f = filechooser.getSelectedFile(); /得到選擇的文件try InputStream is = new FileInputStream

27、(f); /得到文件輸入流textPane.read(is, d); /讀入文件到文本窗格 catch (Exception ex) ex.printStackTrace(); /輸出出錯信息class SaveAction extends AbstractAction /保存命令public SaveAction() super(保存文本);public void actionPerformed(ActionEvent e) int i = filechooser.showSaveDialog(EditorDemo.this); /顯示保存文件對話框if (i = JFileChooser.APPROVE_OPTION) /點擊對話框中保存按鈕File f = filechooser.getSelectedFile(); /得到選擇的文件try FileOutputStream out = new FileOutputStream(f); /得到文件輸出流out.write(textPane.getText().getBytes(); /寫出文件 catch (Exception

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論