java課程設計文本編輯器_第1頁
java課程設計文本編輯器_第2頁
java課程設計文本編輯器_第3頁
java課程設計文本編輯器_第4頁
java課程設計文本編輯器_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、湖南人文科技學院計算機系課程設計報告課程名稱:java程序設計課程代碼:408026題 目:文本編輯器年級/專業(yè)/班:07級計算機科學與技術1班學生姓名:肖毅、陳耀學 號:07408131、07408145指導老師:郭 廣 軍開題時間:2008年12月22日完成時間:2009年01月03日2009年1月5日11湖南人文科技學院java課程設計報告 前 言java課程設計是計算機科學與技術專業(yè)學生的專業(yè)實踐必修課程,是學習java程序設計課程非常重要的綜合性實踐教學環(huán)節(jié)。課程設計是檢驗學生是否掌握相關專業(yè)課程知識的重要手段,同時課程設計應充分體現(xiàn)“教師指導下的以學生為中心”的教學模式,以學生為認

2、知主體,充分調(diào)動學生的積極性和能動性,重視學生實踐應用能力和自學能力的培養(yǎng)。課程設計任務書及成績評定課程名稱:java程序設計完成者:肖毅、陳耀1 、設計的目的與要求(1)設計的目的: java課程設計是計算機科學與技術專業(yè)學生的專業(yè)實踐必修課程,是學習java程序設計課程非常重要的綜合性實踐教學環(huán)節(jié)。課程設計是檢驗學生是否掌握相關專業(yè)課程知識的重要手段,同時課程設計應充分體現(xiàn)“教師指導下的以學生為中心”的教學模式,以學生為認知主體,充分調(diào)動學生的積極性和能動性,重視學生實踐應用能力和自學能力的培養(yǎng)。通過設計文本編輯器并實現(xiàn)其功能來熟練掌握java語言基礎,初步掌握軟件開發(fā)中系統(tǒng)分析、系統(tǒng)設計

3、、系統(tǒng)實現(xiàn)和系統(tǒng)測試等階段的基本方法與技術,培養(yǎng)學生的創(chuàng)新意識,提高實踐應用能力,為培養(yǎng)應用型人才服務。(2)做文本編輯器的要求:<1> 菜單要求: 要求有新建 、保存、另存為、退出 、拷貝、剪切、粘貼、幫助等功能。<2>要求其操作簡單、界面清晰、靈活、實用、方便。<3>要求程序須經(jīng)調(diào)試,并添加異常處理和代碼注釋,同時在功能實現(xiàn)后,要將代碼進行優(yōu)化。<4>最好能響應鍵盤和鼠標事件,同時可添加快捷鍵。 2 、設計進度及完成情況日 期內(nèi) 容2008年12月22日準備和審題、接受任務,開發(fā)環(huán)境配置等2008年12月2324日查找相關資料,系統(tǒng)調(diào)查,需求

4、分析2008年12月25日系統(tǒng)建模2008年12月26日概要設計2008年12月2728日詳細設計2008年12月2931日編碼測試2008年01月01日部署、配置、運行2009年01月0203日撰寫課程設計報告2009年01月04日課程設計總結2009年01月05日正式提交課程設計報告和系統(tǒng)源程序3、成績評定設計成績: (教師填寫)指導老師: (簽 字)2009 年 月 日目 錄1引言12設計任務與目的14 系統(tǒng)設計24.1 總體設計34.1.1 系統(tǒng)類圖34.2詳細設計36 系統(tǒng)實現(xiàn)66.1 系統(tǒng)主要用例的實現(xiàn)76.1.1運行用例運行效果76.1.2 打開文檔用例運行效果76.1.3 關于

5、用例運行效果87 結束語8參考文獻9致謝9附錄a:系統(tǒng)源程序9附錄b:編碼規(guī)范12文本編輯器1 引言計算機的普及發(fā)展,軟件行業(yè)在社會占著舉足輕重的作用?,F(xiàn)今市場中存在的文本編輯器已不是少數(shù)幾種,而且功能已相對齊全,但我們作為未來從事軟件行業(yè)的專業(yè)人士,借著軟件發(fā)展的周期,研究這個課題,在學習過程掌握文本編輯器以及java的相關知識很有必要,既隨科技發(fā)展的前沿,又方便了我們的生活。事實上,因為暫時知識的限制性,我們只能做一個比較簡單的文本編輯器,通過一學期對java 的了解和課程設計培訓,以及對文本編輯器主要功能的詳細研究,我們將其功能轉(zhuǎn)化為了程序代碼。主要分為編輯區(qū)、輸入?yún)^(qū)等,此文本編輯器含有

6、保存、 退出、查找、拷貝、剪切、粘貼等簡要功能,其操作簡單、界面清晰、靈活、實用、方便等優(yōu)點,適用于簡便的存檔及撰寫文稿。2 設計任務與目的1)設計一個簡單的文本編輯器,可以實現(xiàn)以下功能: 1:文件的新建,打開,保存和另存; 2:對文件的編輯,如全選,復制,剪切,粘貼; 3:執(zhí)行完操作后,能夠順利關閉記事本。 2)通過這次設計,可以幫助學生:1:提高對java語言設計的掌握能力; 2:理論聯(lián)系實際,進一步提高學生的軟件開發(fā)技術; 3:培養(yǎng)學生分析、解決問題的能力。3. 需求分析 在科學技術飛速發(fā)展的今天,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越

7、重要的作用。應用java技術實現(xiàn)學生學習實踐是可行而必要的工作 。在社會生活中我們經(jīng)常需要用電腦編寫一些文檔來保存文件,本課程設計是運用了java軟件開發(fā)工具開發(fā)的應用軟件。適合編寫記錄文件。 訓練學生靈活應用所學java語言的基本知識,熟練的完成問題分析、算法設計、編寫程序,求解出指定的問題;訓練用系統(tǒng)的觀點和軟件開發(fā)一般規(guī)范進行軟件開發(fā),鞏固、深化學生的理論知識,提高編程水平,并在此過程中培養(yǎng)嚴謹?shù)目茖W態(tài)度和良好的工作作風; 提高綜合運用所學的理論知識和方法獨立分析和解決問題的能力運行要求: 由于本程序是運用java語言編成的,所以首先必須在電腦上安裝java虛擬機,并對環(huán)境變量進行設置。

8、完成java的環(huán)境設置后,在集成環(huán)境eclipse中進行編程。 4 系統(tǒng)設計4.1 總體設計4.1.1 系統(tǒng)類圖圖4-1 系統(tǒng)類圖4.2 詳細設計(1)類或包的加載 import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.text.*;(2). 設計一個主類,變量的定義public class editordemo extends jframe jtextpane textpane = new jtextpane(); /文本窗格,編輯窗口 jlabel

9、 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(), new pasteaction(), new abou

10、taction(), new exitaction(); setjmenubar(createjmenubar(actions); /設置菜單欄 container container = getcontentpane(); /得到容器 container.add(createjtoolbar(actions), borderlayout.north); /增加工具欄 container.add(textpane, borderlayout.center); /增加文本窗格 container.add(statusbar, borderlayout.south); /增加狀態(tài)欄 setsize

11、(330, 200); /設置窗口尺寸 setvisible(true); /設置窗口可視 setdefaultcloseoperation(jframe.exit_on_close); /關閉窗口時退出程序 private jmenubar createjmenubar(action actions) /創(chuàng)建菜單欄 jmenubar menubar = new jmenubar(); /實例化菜單欄 jmenu menufile = new jmenu("文件"); /實例化菜單 jmenu menuedit = new jmenu("編輯"); jm

12、enu menuabout = new jmenu("幫助"); menufile.add(new jmenuitem(actions0); /增加新菜單項 menufile.add(new jmenuitem(actions1); menufile.add(new jmenuitem(actions2); menufile.add(new jmenuitem(actions7); menuedit.add(new jmenuitem(actions3); menuedit.add(new jmenuitem(actions4); menuedit.add(new jmen

13、uitem(actions5); menuabout.add(new jmenuitem(actions6); menubar.add(menufile); /增加菜單 menubar.add(menuedit); menubar.add(menuabout); return menubar; /返回菜單欄 private jtoolbar createjtoolbar(action actions) /創(chuàng)建工具條 jtoolbar toolbar = new jtoolbar(); /實例化工具條 for (int i = 0; i < actions.length; i+) jbut

14、ton bt = new jbutton(actionsi); /實例化新的按鈕 bt.setrequestfocusenabled(false); /設置不需要焦點 toolbar.add(bt); /增加按鈕到工具欄 return toolbar; /返回工具欄 (3).文件操作功能的實現(xiàn)class newaction extends abstractaction /新建文件命令 public newaction() super("新建"); public void actionperformed(actionevent e) textpane.setdocument(

15、new defaultstyleddocument(); /清空文檔 class openaction extends abstractaction /打開文件命令 public openaction() super("打開"); public void actionperformed(actionevent e) int i = filechooser.showopendialog(editordemo.this); /顯示打開文件對話框 if (i = jfilechooser.approve_option) /點擊對話框中打開選項 file f = filechoos

16、er.getselectedfile(); /得到選擇的文件 try inputstream is = new fileinputstream(f); /得到文件輸入流 textpane.read(is, "d"); /讀入文件到文本窗格 catch (exception ex) ex.printstacktrace(); /輸出出錯信息 class saveaction extends abstractaction /保存命令 public saveaction() super("保存"); public void actionperformed(ac

17、tionevent 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

18、ex) ex.printstacktrace(); /輸出出錯信息 class exitaction extends abstractaction /退出命令 public exitaction() super("退出"); public void actionperformed(actionevent e) system.exit(0); /退出程序 class cutaction extends abstractaction /剪切命令 public cutaction() super("剪切"); public void actionperform

19、ed(actionevent e) textpane.cut(); /調(diào)用文本窗格的剪切命令 class copyaction extends abstractaction /拷貝命令 public copyaction() super("拷貝"); public void actionperformed(actionevent e) textpane.copy(); /調(diào)用文本窗格的拷貝命令 class pasteaction extends abstractaction /粘貼命令 public pasteaction() super("粘貼");

20、public void actionperformed(actionevent e) textpane.paste(); /調(diào)用文本窗格的粘貼命令 class aboutaction extends abstractaction /關于選項命令 public aboutaction() super("關于"); public void actionperformed(actionevent e) joptionpane.showmessagedialog(editordemo.this, "簡單的文本編輯器演示"); /顯示軟件信息 public sta

21、tic void main(string args) new editordemo(); 6 系統(tǒng)實現(xiàn)6.1 系統(tǒng)主要用例的實現(xiàn)6.1.1運行用例運行效果 圖6-1 運行用例運行效果圖6.1.2 打開文檔用例運行效果圖6-2 打開文件用例運行效果圖6.1.3 關于用例運行效果 圖6-3 用例演示運行效果7 結束語作為計算機科學與技術大二的學生,我覺得能做類似的課程設計是十分有意義,而且是十分必要的。在已度過的大二的時間里我們大多數(shù)接觸的是專業(yè)基礎課。我們在課堂上掌握的僅僅是專業(yè)基礎課的理論面,如何去鍛煉我們的實踐面?如何把我們所學到的專業(yè)基礎理論知識用到實踐中去呢?我想做類似的大作業(yè)就為我們提

22、供了良好的實踐平臺。在做本次課程設計的過程中,我感觸最深的當數(shù)查閱大量的書籍了。為了讓自己的設計更加完善,更加符合軟件工程標準,一次次翻閱各種參考資料是十分必要的,同時也是必不可少的。我們是在作設計,但我們不是藝術家。他們可以拋開實際,盡情在幻想的世界里翱翔,我們是軟件設計師,一切都要有據(jù)可依.有理可尋,不切實際的構想永遠只能是構想,永遠無法升級為設計。作為一名專業(yè)學生掌握一門或幾門程序設計語言是必不可少的,由于本次課程設計要求用java進行開發(fā),在這過程中我對各種的開發(fā)環(huán)境進行了探索,這使我對java的集成開發(fā)環(huán)境有了更深刻的理解雖然去從未獨立應用過它們,但在學習的過程中帶著問題去學我發(fā)現(xiàn)效

23、率好高,記得大一學c語言好難就是因為我們沒有把自己放在使用者的角度,單單是為了學而學,這樣效率當然不會高。邊學邊用這樣才會提高效率,這是我作本次課程設計的第二大收獲。但是由于水平有限,難免會有錯誤,還望老師批評指正。參考文獻 1 張廣彬,孟紅蕊,張永寶.java課程設計案例精編m.北京:清華大學出版社,2007,1.2 黃曉東.java課程設計案例精編m.北京:中國水利水電出版社,2004,5.3 求是科技. java信息管理系統(tǒng)開發(fā)實例導航m.北京:人民郵電出版社,2005,4.4 求是科技.java數(shù)據(jù)庫系統(tǒng)開發(fā)實例導航m.北京:人民郵電出版社,2004,9. 5 java編程思想,機械工

24、業(yè)出版社,1999年4月6java項目設計與開發(fā)范例,電子工業(yè)出版社,2005年4月,唐小軍等7標準java 2 使用手冊,電子工業(yè)出版社,2005年1月,魏海萍8java開放源碼編程,電子工業(yè)出版社,2005年1月,沃納斯致謝非常感謝郭廣軍老師對我們的指導,讓我們能學會這門課程并且成功地完成了本次課程設計,還有設計過程中給予我們幫助的同學、朋友,有了大家的共同努力才有今天的成果。附錄a:系統(tǒng)源程序package wenben;import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;impo

25、rt javax.swing.text.*;/簡單的文本編輯器public class editordemo extends jframe jtextpane textpane = new jtextpane(); /文本窗格,編輯窗口 jlabel statusbar = new jlabel(); /狀態(tài)欄 jfilechooser filechooser = new jfilechooser(); /文件選擇器 public editordemo() /構造函數(shù) super("簡單的文本編輯器"); /調(diào)用父類構造函數(shù) action actions = /action

26、數(shù)組,各種操作命令 new newaction(), new openaction(), new saveaction(), new cutaction(), new copyaction(), new pasteaction(), new aboutaction(), new exitaction(); setjmenubar(createjmenubar(actions); /設置菜單欄 container container = getcontentpane(); /得到容器 container.add(createjtoolbar(actions), borderlayout.nort

27、h); /增加工具欄 container.add(textpane, borderlayout.center); /增加文本窗格 container.add(statusbar, borderlayout.south); /增加狀態(tài)欄 setsize(330, 200); /設置窗口尺寸 setvisible(true); /設置窗口可視 setdefaultcloseoperation(jframe.exit_on_close); /關閉窗口時退出程序 private jmenubar createjmenubar(action actions) /創(chuàng)建菜單欄 jmenubar menuba

28、r = new jmenubar(); /實例化菜單欄 jmenu menufile = new jmenu("文件"); /實例化菜單 jmenu menuedit = new jmenu("編輯"); jmenu menuabout = new jmenu("幫助"); menufile.add(new jmenuitem(actions0); /增加新菜單項 menufile.add(new jmenuitem(actions1); menufile.add(new jmenuitem(actions2); menufile.a

29、dd(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(menuabout); return menubar; /返回菜單欄 private jtoolbar cre

30、atejtoolbar(action actions) /創(chuàng)建工具條 jtoolbar toolbar = new jtoolbar(); /實例化工具條 for (int i = 0; i < actions.length; i+) jbutton bt = new jbutton(actionsi); /實例化新的按鈕 bt.setrequestfocusenabled(false); /設置不需要焦點 toolbar.add(bt); /增加按鈕到工具欄 return toolbar; /返回工具欄 class newaction extends abstractaction /新

31、建文件命令 public newaction() super("新建"); public void actionperformed(actionevent e) textpane.setdocument(new defaultstyleddocument(); /清空文檔 class openaction extends abstractaction /打開文件命令 public openaction() super("打開"); public void actionperformed(actionevent e) int i = filechooser

32、.showopendialog(editordemo.this); /顯示打開文件對話框 if (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 /保存命令 public saveaction() super("保存"); public void actionperformed(actionevent e) int i = filechooser.showsavedialog(editordemo.this); /顯示保存文件對話框 if (i = jfilechooser.approve_option) /點擊對話框中保存按鈕 file f = filechooser.get

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論