




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、*實踐教學*蘭州理工大學計算機與通信學院2012年秋季學期 Java 課程設計題 目: 記事本系統(tǒng)設計 專業(yè)班級: 姓 名: 學 號: 指導教師: 成 績: 目 錄摘要1序言2正文31.系統(tǒng)設計與分析32.詳細設計43.系統(tǒng)測試154.軟件使用說明書19設計總結20參考文獻21致謝22附錄(程序源代碼)2325摘要本次課程設計的題目是用java語言編寫記事本程序,要求是:用圖形界面實現(xiàn);含有簡單的文字編輯功能,如:剪切、復制、粘貼、刪除;還能實現(xiàn)保存、另存為、查找、替換等功能。本程序主要用到了Java swing組件和事件監(jiān)聽器,還用到了文件的輸入輸出流。記事本的界面參考了Windows中的記
2、事本界面,并且根據(jù)課程設計要求做了適當?shù)恼{(diào)整。關鍵字:記事本程序;Java語言;Jcreator 序言Java的前身是Oak,它一開始只是被應用于消費性電子產(chǎn)品中。后來它的開發(fā)者們發(fā)現(xiàn)它還可以被用于更大范圍的Internet上。1995年,Java語言的名字從Oak編程了Java。1997年J2SE1.1發(fā)布。1998年J2SE1.2發(fā)布,標志Java2的誕生。十多年來,Java編程語言及平臺成功地運用在網(wǎng)絡計算及移動等各個領域。Java的體系結構由Java語言、Java class、Java API、Java虛擬機組成。它具有簡單、面向?qū)ο蟆⒔选踩⒔Y構中立、可移植和高效能等眾多優(yōu)點。J
3、ava支持多線程編程,Java運行時系統(tǒng)在多線程同步方面具有成熟的解決方案。Java的平臺標準有Java ME,Java SE和Java EE。Java發(fā)展到今天,它的卓越成就及在業(yè)界的地位毋庸置疑。目前在眾多的支持Java的開發(fā)工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 簡稱JDK是大多開發(fā)工具的基礎。以上的每種開發(fā)工具都有優(yōu)缺點,對于開發(fā)者來說,重要的是要根據(jù)自己的開發(fā)規(guī)模、開發(fā)內(nèi)容和軟硬件環(huán)境等因素來選擇一種合適的開發(fā)工具。在本程序設計
4、中,因為需要開發(fā)的是記事本程序,規(guī)模較小,內(nèi)容較少,所以選擇了適合初學者使用的JCreator開發(fā)工具。 正文1.系統(tǒng)設計與分析該課程設計報告里的簡易記事本程序是使用Java程序設計語言編寫的,要求實現(xiàn)記事本的基本功能,參考了windows中記事本的一些功能。要求打開文件,讀取文件中的文本信息;顯示、編輯修改文本信息;實現(xiàn)新建、打開、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能 。概要設計 系統(tǒng)主要功能本程序是利用java程序設計語言編寫的一個簡單的記事本程序。可以通過菜單欄和工具欄實現(xiàn)以下功能:如文件的新建,打開,保存和退出;對文件的編輯,如復制,剪切,粘貼;以及幫助菜單;執(zhí)行
5、完操作后,能夠順利關閉記事本。1運行環(huán)境要求(1) 實現(xiàn)設計的系統(tǒng)硬件需求 硬件配置的基本要求:* 586以上的計算機* 32MB以上的內(nèi)存* 彩色顯示器* 3.5寸高密軟盤驅(qū)動器* 光盤驅(qū)動器* 4G以上硬盤空間* 鼠標(2) 實現(xiàn)設計的系統(tǒng)軟件* WINDOWS95或WINDOWS98* Jcreator Pro全套軟件2.詳細設計設計思路:設計一個EditorDemo類,繼承自JFrame類,并在EditorDemo類利用JtextPane創(chuàng)建面板窗口textPane,利用Jlabel創(chuàng)建狀態(tài)欄 statusBar,利用JFileChooser 創(chuàng)建文件選擇器filechooser,利用
6、JMenuBar創(chuàng)建并實例化菜單欄,利用JToolBar創(chuàng)建工具欄,再通過一些具體方法實現(xiàn)各功能鍵的功能。建立構造函數(shù)public EditorDemo();通過該構造函數(shù)實現(xiàn)記事本程序的主要功能,運行時在主類中通過調(diào)用該構造函數(shù)來實現(xiàn)對記事本程序的基本操作。1:窗口設計 在主接口中設計一個EditorDemo容器繼承自JFrame,并在其中加入菜單欄、工具欄和一個文本域控件。 public class EditorDemo extends JFrameJTextPane textPane = new JTextPane(); /創(chuàng)建文本窗格,編輯窗口JFileChooser filechoo
7、ser = new JFileChooser(); /文件選擇器setJMenuBar(createJMenuBar(actions); /設置菜單欄Container container = getContentPane(); /得到容器 container.add(createJToolBar(actions), BorderLayout.NORTH); /工具欄container.add(textPane, BorderLayout.CENTER); /增加文本窗格2:功能設計(1)在下拉菜單中加入子菜單并進行監(jiān)聽,分別實現(xiàn)對文件的操作功能。點擊不同菜單項時,顯示不同接口。private
8、 JMenuBar createJMenuBar(Action actions) /創(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 =
9、 new JMenu("幫助(H)");menuFile.add(new JMenuItem(actions0); /增加新菜單項menuFile.add(new JMenuItem(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
10、 JMenuItem(actions5);menuAbout.add(new JMenuItem(actions6);menubar.add(menuFile); /增加菜單menubar.add(menuEdit);menubar.add(menuFormat);menubar.add(menuFind);menubar.add(menuAbout);return menubar; /返回菜單欄如下圖:(2)加入工具欄的功能鍵,通過工具欄實現(xiàn)對文本的基本操作。Action actions = /Action數(shù)組,各種操作命令new NewAction(),new OpenAction(),n
11、ew SaveAction(),new CutAction(),new CopyAction(),new PasteAction(),new AboutAction(),new ExitAction(),private JToolBar createJToolBar(Action actions) /創(chuàng)建工具條JToolBar toolBar = new JToolBar(); /實例化工具條 JButton bt = new JButton(actionsi); /實例化新的按鈕toolBar.add(bt); /增加按鈕到工具欄如圖所示:(3)對每個菜單項進行注冊監(jiān)聽。點擊不同功能鍵時,實
12、現(xiàn)不同的操作,顯示不同的窗口。主要實現(xiàn)方法代碼如下:class NewAction extends AbstractAction /實現(xiàn)新建文件命令功能public NewAction() super("新建文本");public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); /清空文檔class OpenAction extends AbstractAction /實現(xiàn)打開文件命令功能public OpenAction() super("
13、打開文本");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(f); /得到文件輸入流textPane.read(is, "d");
14、 /讀入文件到文本窗格 catch (Exception ex) ex.printStackTrace(); /輸出出錯信息如下圖:class SaveAction extends AbstractAction /實現(xiàn)保存文本命令public SaveAction() super("保存文本");public void actionPerformed(ActionEvent e) int i = filechooser.showSaveDialog(EditorDemo.this); /顯示保存文件對話框if (i = JFileChooser.APPROVE_OPTION
15、) /點擊對話框中保存按鈕File f = filechooser.getSelectedFile(); /得到選擇的文件try FileOutputStream out = new FileOutputStream(f); /得到文件輸出流out.write(textPane.getText().getBytes(); /寫出文件 catch (Exception ex) ex.printStackTrace(); /輸出出錯信息如下圖:class ExitAction extends AbstractAction /實現(xiàn)退出命令public ExitAction() super("
16、;退出系統(tǒng)");public void actionPerformed(ActionEvent e) System.exit(0); /退出程序class CutAction extends AbstractAction /實現(xiàn)剪切命令public CutAction() super("剪切");public void actionPerformed(ActionEvent e) textPane.cut(); /調(diào)用文本窗格的剪切命令class CopyAction extends AbstractAction /實現(xiàn)拷貝命令public CopyAction(
17、) super("拷貝");public void actionPerformed(ActionEvent e) textPane.copy(); /調(diào)用文本窗格的拷貝命令class PasteAction extends AbstractAction /實現(xiàn)粘貼命令public PasteAction() super("粘貼");public void actionPerformed(ActionEvent e) textPane.paste(); /調(diào)用文本窗格的粘貼命令class AboutAction extends AbstractAction
18、 /關于版本命令public AboutAction() super("版本");public void actionPerformed(ActionEvent e) String str="簡易記事本n版本:1.0n作者:郭孔明n主要功能:實現(xiàn)簡單文本編輯。 JOptionPane.showMessageDialog(EditorDemo.this, str);/顯示軟件信息如下圖:3.系統(tǒng)測試1窗口調(diào)試確定主窗體,設置主窗體的屬性,對窗體進行布局,加入所需控件并對控件進行初始化。在完成所有方法的源代碼編輯后,對程序進行編譯、運行!會出現(xiàn)窗體如下圖: 2功能調(diào)試
19、對所有菜單項進行注冊監(jiān)聽。在編寫觸發(fā)事件時執(zhí)行各項操作,包括了一些常用部分的事件處理,實現(xiàn)各功能鍵的操作。例如 當點擊“文件“按鈕是顯示如下窗口:當需要打開已存在的文件時,點擊“打開文本”按鈕會出現(xiàn)如下窗口: 當輸入完文本是要保存的話,點擊“保存文本”會出現(xiàn)下面的窗口: 依次調(diào)試其他功能鍵及窗口,直至達到符合要求的能實現(xiàn)簡易的記事本的功能!4.軟件使用說明書 本課程設計的簡易計算本通過在JAVA平臺編譯、運行源代碼,打開計算本窗口,在編輯區(qū)進行文本的輸入,可以使用剪切、拷貝、粘貼等功能鍵,當文本輸入完畢后點擊“文件”菜單,選擇下拉菜單中的“保存文本”打開“保存”窗口,選擇保存文件的根目錄進行保
20、存。當需要關閉窗口時可通過“文件”菜單下的“退出系統(tǒng)”選項,或者選擇“工具欄”中的“退出系統(tǒng)”按鈕,也可以直接點擊窗口右上角的關閉圖標進行關閉。設計總結 經(jīng)過一個星期的努力,基本上完成我的Java課程設計簡單的記事本程序,也基本上實現(xiàn)了我在需求分析時所預期的功能。通過這次的課程設計,使將我從書本上學習到的理論知識用到了實踐上,從而進一步鞏固和豐富了我所學過的知識,讓我更深層次地認識到Java及其強大的功能。同時,做這門課程設計也進一步加強了我的動手能力。為了完成好這次課程設計,我提前做了較多的準備,一邊上網(wǎng)查找相關資料,另一方面查閱相關書籍。在這過程中也無形中鍛煉了我的思維分析、遇到問題及想方
21、設法通過各種途徑解決問題的能力。但是,設計過程中也存在一些問題,本來一開始想給這個記事本程序加上一張背景圖片,以及添加字體設置功能,但是由于本人知識淺陋以及各種其他原因,使得這些想法沒有實現(xiàn),這是這次課程設計的一點遺憾。 參考文獻1曲朝陽,楊杰明等.Java程序設計. 北京: 清華大學出版社,2008.102耿祥以,張躍平.Java大學生實用教程. 北京: 電子工業(yè)出版社,2012.6 3明日科技.Java經(jīng)典編程.北京:清華大學出版社,2012.104李尊朝,蘇軍.Java語言程序設計.北京:中國鐵道出版社,2004.25王博. 面向?qū)ο蟮慕!⒃O計技術與方法. 北京希望電腦公司,1990.
22、致謝在本次設計的過程中, 老師給了我很大的幫助,不僅使我在規(guī)定的時間內(nèi)完成了系統(tǒng)的設計,同時還使我學到了很多有益的知識和寶貴的經(jīng)驗。在此,我向幫助我的老師們表示最衷心的感謝。由我人水平有限,其中肯定會有一些不當之處,請老師批評指正。 附錄(程序源代碼)程序源代碼:/簡單的文本編輯器import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.text.*;public class EditorDemo extends JFrame JTextPane text
23、Pane = new JTextPane(); /文本窗格,編輯窗口JLabel statusBar = new JLabel(); /狀態(tài)欄JFileChooser filechooser = new JFileChooser(); /文件選擇器public EditorDemo() /構造函數(shù)super("簡易記事本"); /調(diào)用父類構造函數(shù)Action actions = /Action數(shù)組,各種操作命令new NewAction(),new OpenAction(),new SaveAction(),new CutAction(),new CopyAction(),
24、new PasteAction(),new AboutAction(),new ExitAction(),;setJMenuBar(createJMenuBar(actions); /設置菜單欄Container container = getContentPane(); /得到容器container.add(createJToolBar(actions), BorderLayout.NORTH); /增加工具欄container.add(textPane, BorderLayout.CENTER); /增加文本窗格container.add(statusBar, BorderLayout.S
25、OUTH); /增加狀態(tài)欄 setSize(500, 400); /設置窗口尺寸setVisible(true); /設置窗口可視setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /關閉窗口時退出程序private JMenuBar createJMenuBar(Action actions) /創(chuàng)建菜單欄JMenuBar menubar = new JMenuBar(); /實例化菜單欄JMenu menuFile = new JMenu("文件(F)"); /實例化菜單JMenu menuEdit = new JMenu(&
26、quot;編輯(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 JMenuItem(actions2);menuFile.addSeparator(
27、);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);menubar.add(menuFind);menubar.add(menu
28、About);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); /設置不需要焦點bt.setFont(new Font("宋體",Font.PLAIN,
29、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 extends Abstrac
30、tAction /打開文件命令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 FileInputStrea
31、m(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 FileOutpu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山西衛(wèi)生健康職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年安徽汽車職業(yè)技術學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年寧夏警官職業(yè)學院高職單招(數(shù)學)歷年真題考點含答案解析
- 2025年天津渤海職業(yè)技術學院高職單招語文2019-2024歷年真題考點試卷含答案解析
- 2025年天府新區(qū)航空旅游職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 教師說課內(nèi)容展示
- 《教學工作匯報與總結》
- 護理學婦產(chǎn)科護理學
- 設備安裝合同質(zhì)保協(xié)議
- 胸椎骨折術后護理措施
- 育嬰行業(yè)前景及就業(yè)前景
- 2024年美容師考試理論回顧試題及答案
- 老舊城市燃氣管道更新改造工程設計方案
- 中醫(yī)經(jīng)典臨證思維與實踐知到課后答案智慧樹章節(jié)測試答案2025年春浙江中醫(yī)藥大學
- 動火和受限空間作業(yè)監(jiān)護人考試題有答案
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評價導則
- 康復醫(yī)學科髖關節(jié)Harris-、膝關節(jié)HSS評分表
- 小學數(shù)學問題解決(吳正憲)
- 第五節(jié) 胡靜-常用正頜外科手術
- 礦井開拓方案比較
- DB23-黑龍江省建設工程施工操作技術規(guī)程-城鎮(zhèn)道路工程.doc
評論
0/150
提交評論