java課程設計記事本(共22頁)_第1頁
java課程設計記事本(共22頁)_第2頁
java課程設計記事本(共22頁)_第3頁
java課程設計記事本(共22頁)_第4頁
java課程設計記事本(共22頁)_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上攀枝花學院課程設計題 目: 記事本程序設計 院 (系): 數學與計算機學院 年級專業: 姓 名: 學 號: 指導教師: 二一三年十二月三十日攀枝花學院教務處制攀枝花學院本科學生課程設計任務書題目記事本1、課程設計的目的通過本課程設計使學生能夠較全面的掌握面向對象程序設計的有關概念和開發方法,以便能較全面地理解、掌握和綜合運用所學的知識,提高自身的編程能力。2、課程設計的內容和要求(包括原始數據、技術要求、工作要求等)模擬Windows的記事本程序,編寫一個記事本。要求具備基本的編輯、復制、粘貼、剪切、保存文件等功能,界面美觀。3、主要參考文獻1朱福喜.Java語言程序

2、設計(第二版).科學出版社2陳國君等.Java程序設計基礎(第二版).清華大學出版社3 Deitel.Java大學基礎教程(第六版).電子工業出版社 4 MaryCampione.Java語言導學(第四版).機械工業出版社5 Y.Daniel Liang.Java語言程序設計基礎篇(第六版). 機械工業出版社6 Kathy Sierra.Head First Java(第二版).東南大學出版社4、課程設計工作進度計劃序號時間(天)內容安備注11分析設計準備周一22編程調試階段周二至周三31編寫課程設計報告周四41考核周五總計5(天)指導教師(簽字)日期 年 月 日教研室意見:年 月 日學生(簽

3、字): 接受任務時間: 年 月 日注:任務書由指導教師填寫。課程設計(論文)指導教師成績評定表題目名稱記事本評分項目分值得分評價內涵工作表現20%01學習態度6遵守各項紀律,工作刻苦努力,具有良好的科學工作態度。02科學實踐、調研7通過實驗、試驗、查閱文獻、深入生產實踐等渠道獲取與課程設計有關的材料。03課題工作量7按期圓滿完成規定的任務,工作量飽滿。能力水平35%04綜合運用知識的能力10能運用所學知識和技能去發現與解決實際問題,能正確處理實驗數據,能對課題進行理論分析,得出有價值的結論。05應用文獻的能力5能獨立查閱相關文獻和從事其他調研;能提出并較好地論述課題的實施方案;有收集、加工各種

4、信息及獲取新知識的能力。06設計(實驗)能力,方案的設計能力5能正確設計實驗方案,獨立進行裝置安裝、調試、操作等實驗工作,數據正確、可靠;研究思路清晰、完整。07計算及計算機應用能力5具有較強的數據運算與處理能力;能運用計算機進行資料搜集、加工、處理和輔助設計等。08對計算或實驗結果的分析能力(綜合分析能力、技術經濟分析能力)10具有較強的數據收集、分析、處理、綜合的能力。成果質量45%09插圖(或圖紙)質量、篇幅、設計(論文)規范化程度5符合本專業相關規范或規定要求;規范化符合本文件第五條要求。10設計說明書(論文)質量30綜述簡練完整,有見解;立論正確,論述充分,結論嚴謹合理;實驗正確,分

5、析處理科學。11創新10對前人工作有改進或突破,或有獨特見解。成績指導教師評語指導教師簽名: 年 月 日專心-專注-專業摘 要目前,很多新的技術領域都涉及到了Java語言,Java語言是面向對象編程,并涉及到網絡、多線程等重要的基礎知識,因此Java語言也是學習面向對象編程和網絡編程的首選語言。按照教學培養計劃要求,學生在學習完課本中指定課時的知識后,應安排一定課時的課程設計。其主要目的是使學生深入理解并實踐在本課程中所學的有關JAVA程序設計方面的語言基礎、異常處理、事件處理、小應用程序以及圖形用戶界面設計等。故此“記事本”應運而生。該報告中的程序是簡易記事本。使用Java程序編寫,能夠進行

6、輸入文字操作,并具有新建文件,打開文件,保存文件,退出,復制,粘貼,剪切等功能,不同之處是本程序能夠對文字的顏色進行設置。該程序主要用到了Java swing和事件監聽等。關鍵字: 記事本,Java,Java swing目錄1 前 言 Java的前身是Oak,它一開始只是被應用于消費性電子產品中。后來它的開發者們發現它還可以被用于更大范圍的Internet上。1995年,Java語言的名字從Oak編程了Java。1997年J2SE1.1發布。1998年J2SE1.2發布,標志Java2的誕生。十多年來,Java編程語言及平臺成功地運用在網絡計算及移動等各個領域。Java的體系結構由Java語言

7、、Java class、Java API、Java虛擬機組成。它具有簡單、面向對象、健壯、安全、結構中立、可移植和高效能等眾多優點。Java支持多線程編程,Java運行時系統在多線程同步方面具有成熟的解決方案。Java的平臺標準有Java ME,Java SE和Java EE。Java發展到今天,它的卓越成就及在業界的地位毋庸置疑。目前在眾多的支持Java的開發工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 簡稱JDK是大多開發工具的基礎。以上的

8、每種開發工具都有優缺點,對于開發者來說,重要的是要根據自己的開發規模、開發內容和軟硬件環境等因素來選擇一種合適的開發工具。在本程序設計中,因為需要開發的是記事本程序,規模較小,內容較少,所以選擇了適合初學者使用的JCreator開發工具。2 需求分析2.1需求分析現在網絡上各種文檔編輯器數不勝數,有,。功能也是應有盡有,有能改變字體的,有能改變文字顏色的。但是,這些軟件又存在各種各樣的瑕疵或問題:有的文件體積相對于一般文字編輯來說太大;有的功能太繁雜,使初級使用者一時難以掌握。僅從日常應用方面來說,一個文本編輯器只需一些簡單實用的功能就夠了。本程序設計就是依照這樣一種使用需要設計了一個簡單的記

9、事本程序。2.2功能設計本程序要構建的記事本程序參照了Windows操作系統的記事本工具,其功能有以下幾個方面:(1)菜單中有“文件”,“編輯”,“關于”三個主菜單。(2)“文件”有“新建”“打開”“保存”“退出”四個子菜單:分別用于新 建文件,打開文件,保存文件,退出記事本。(3)“編輯”中有“剪切”“復制”“粘貼”“顏色”三個字菜單:用于剪切文字,復制文字,粘貼文字。增加了“顏色”子菜單來對文字的顏色進行設置。(4)“關于”菜單中有關于記事本程序的制作日期,作者等信息。3 概要設計3.1程序設計思路在本程序中,設計了一個菜單欄和文本內容區。設計過程中用到JScrollPaneJMenu,J

10、TextPane,JFileChooser等。JMenu用來制作菜單,菜單包括“文件”“編輯”“關于”。JTextPane主要用來輸入文本。為了加入顏色的設置,所以加了一個JColorChooser組件。3.2程序運行界面圖3.1程序運行界面3.3模塊說明圖implementsActionListenermynotepadJFrameextends 圖3.2模塊說明圖 在圖3.2中,首先創建一個名為mynotepad的類并繼承JFrame類作為最底層的容器。mynotepad的構造方法容器初始化事件監聽添加組件文字輸入區初始化初始化新建文件菜單欄打開保存退出關于編輯關于剪切復制顏色粘貼 圖3.

11、3模塊說明圖 在圖3.3中,構造一個mynotepad類時要做三件事情,分別是初始化容器(initTextContent)、初始化組件(initMenu、initAboutDialog)、設置事件監聽器。啟動程序3.4程序流程圖輸入文字 False False 關于顏色粘貼復制退出剪切保存打開新建 true true true true true true true truefile=nullabout.show()colorfile=openfilesavingcontent.pastecontent.copy()System.exit(0)content.cut()關閉或退出程序 圖3.4

12、程序流程圖3.5程序相關說明整個記事本分為2塊:菜單欄和內容輸入區。本程序中首先定義一個mynotepad類繼承JFrame作為最底層容器。 (1).Textcontent為程序文本輸入區。 (2).Menu為菜單欄。 (3).AboutDialog為關于對話框。(4).要想記事本完成需求分析中相應的功能,還必須添加事件監聽器。事件監聽器不僅要添加在菜單欄和內容輸入區,還需加在容器中。本程序中ActListener實現了ActionListener接口,用來監聽并處理所有菜單項和內容輸入區為事件源的事件。4 程序詳細設計與分析4.1初始化組件initTextContent(); initMen

13、u(); initAboutDialog();4.2.構建菜單欄及其下拉菜單JMenu menus=new JMenunew JMenu(文件),new JMenu(編輯),new JMenu(關于);JMenuItem optionofmenu=new JMenuItemnew JMenuItem(新建),new JMenuItem(打開),new JMenuItem(保存),new JMenuItem(退出) , new JMenuItem(復制), new JMenuItem(剪切),new JMenuItem(粘貼),new JMenuItem(顏色) , new JMenuItem(

14、關于) ;4.3 “文件”菜單的事件監聽ActionListener action=new ActionListener() public void actionPerformed(ActionEvent e) String name = e.getActionCommand();JMenuItem MI=(JMenuItem)e.getSource();if(新建.equals(name)content.setText();file=null;else if(打開.equals(name) if(file !=null)openfile.setSelectedFile(file); int

15、returnVal=openfile.showOpenDialog(mynotepad.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=openfile.getSelectedFile(); unfold(); else if(保存.equals(name) if(file!=null) openfile.setSelectedFile(file); int returnVal=openfile.showSaveDialog(mynotepad.this); if(returnVal=JFileChooser.APPROVE_OPTI

16、ON) file=openfile.getSelectedFile(); saving(); else if(退出.equals(name) mynotepad f=new mynotepad(); int s=JOptionPane.showConfirmDialog(f,退出?,退出,JOptionPane.YES_NO_OPTION);4.4 “編輯”菜單的事件監聽else if(剪切.equals(name) content.cut(); else if(復制.equals(name) content.copy(); else if(粘貼.equals(name) content.pa

17、ste(); else if(顏色.equals(name) color=JColorChooser.showDialog(mynotepad.this,color); content.setForeground(color); 5 測試分析圖5.1:點擊“文件”運行情況圖5.2:“文件”菜單中的“打開”對話框 圖5.3:“編輯”中的“顏色”設置功能圖5.4:“關于”對話框調試結果完全符合課程設計要求!結 論經過一個星期的我的記事本的課程設計,我在老師的指導下,基本上完成我的Java課程設計簡單的記事本程序,也基本上實現了我在需求分析時所預期的功能。通過該課程設計,收獲頗多。首先,讓我加深了對

18、Java語言的理論知識的理解;進一步鞏固和豐富了我所學過的知識,讓我更深層次地認識到Java及其強大的功能。同時,做這門課程設計也進一步加強了我的動手能力其次,讓我更加熟練的掌握了Java語言的設計能力并且有了實踐經驗,在設計過程中,學到了老師沒有在課堂上沒有教授的知識,加強了我對Java語言的學習興趣和好感。參考文獻1朱福喜.Java語言程序設計(第二版).科學出版社2陳國君等.Java程序設計基礎(第二版).清華大學出版社3 Deitel.Java大學基礎教程(第六版).電子工業出版社 4 MaryCampione.Java語言導學(第四版).機械工業出版社5 Y.Daniel Liang

19、.Java語言程序設計基礎篇(第六版). 機械工業出版社6 Kathy Sierra.Head First Java(第二版).東南大學出版社附錄源代碼:package com.wxp.Notepad;import java.awt.*;SuppressWarnings(serial)class mynotepad extends JFrame File file=null; Color color=Color.red; mynotepad() initTextContent(); /初始化組件 initMenu(); initAboutDialog(); void initTextConte

20、nt() getContentPane().add(new JScrollPane(content); /滾動面板對象 JTextPane content=new JTextPane(); /創建/內容輸入區 JFileChooser openfile=new JFileChooser(); /創建打開文件對話框 JColorChooser opencolor=new JColorChooser(); /顏色選擇 JDialog about=new JDialog(this); /關于對話框 JMenuBar menu=new JMenuBar(); /創建菜單欄 /菜單欄的各個菜單項JMen

21、u menus=new JMenunew JMenu(文件),new JMenu(編輯),new JMenu(關于); /“文件”菜單項的四個下拉菜單JMenuItem optionofmenu=new JMenuItemnew JMenuItem(新建),new JMenuItem(打開),new JMenuItem(保存),new JMenuItem(退出) , /編輯菜單的四個下拉菜單 new JMenuItem(復制), new JMenuItem(剪切),new JMenuItem(粘貼),new JMenuItem(顏色), , new JMenuItem(關于) ; void i

22、nitMenu() for(int i=0;imenus.length;i+) menu.add(menusi); for(int j=0;joptionofmenui.length;j+) menusi.add(optionofmenuij); optionofmenuij.addActionListener( action ); this.setJMenuBar(menu); ActionListener action=new ActionListener() /添加事件監聽 SuppressWarnings( unused, deprecation )public void action

23、Performed(ActionEvent e) String name = e.getActionCommand();JMenuItem MI=(JMenuItem)e.getSource();if(新建.equals(name) /監聽“新建”事件content.setText();file=null;else if(打開.equals(name) /監聽“打開”事件 if(file !=null)openfile.setSelectedFile(file); int returnVal=openfile.showOpenDialog(mynotepad.this); if(returnV

24、al=JFileChooser.APPROVE_OPTION) file=openfile.getSelectedFile(); /打開選擇文件 unfold(); else if(保存.equals(name) /監聽“保存”事件 if(file!=null) openfile.setSelectedFile(file); int returnVal=openfile.showSaveDialog(mynotepad.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=openfile.getSelectedFile(); saving

25、(); else if(退出.equals(name) mynotepad f=new mynotepad(); int s=JOptionPane.showConfirmDialog(f,退出?,退出,JOptionPane.YES_NO_OPTION); /提示用戶是否退出 if(s=JOptionPane.YES_OPTION) System.exit(0); else if(剪切.equals(name) /監聽“剪切”事件 content.cut(); else if(復制.equals(name) /監聽“復制”事件 content.copy(); else if(粘貼.equal

26、s(name) /監聽“粘貼”事件 content.paste(); else if(顏色.equals(name) /監聽“顏色”事件 color=JColorChooser.showDialog(mynotepad.this,color); content.setForeground(color); /對顏色進行設置 else if(關于.equals(name) about.setSize(300,150);/設置“關于”對話框大小為300150 about.show(); /顯示“關于”對話框 ; void saving() try FileWriter Writef=new File

27、Writer(file); /創建文件寫入器 Writef.write(content.getText(); Writef.close(); catch(Exception e)e.printStackTrace(); void unfold() try FileReader Readf=new FileReader(file); /文件讀入 int len=(int)file.length(); char buffer=new charlen; Readf.read(buffer,0,len); Readf.close(); content.setText(new String(buffer); catch(Exception e)e.printStackTrace(); void initAboutDialog() about.setLayout(new GridLayout(3,1); /將“關于”對話框設置為3行1列 about.getContent

溫馨提示

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

評論

0/150

提交評論