版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
33題班學姓成題班學姓成目: 文本編輯器Java課程設計報告目: 文本編輯器級: 號: 名: 績: 日期:年月日、綜合設計得目得與要求、綜合設計正文1、系統分析1、1系統開發(fā)背景、開發(fā)范圍、建設目標與必要性開發(fā)1、2需求分析2、系統設計2、1功能設計2、 2系統運行環(huán)境與開發(fā)工具3、系統實施3、1源程序3、 2、系統測試及部分截圖1313三、綜合設計總結或結論1313四、參考文獻文本編輯器》一、綜合設計得目得與要求要求在學生能夠較熟練使用J ava程序設計語言進行軟件代碼得編寫 ,同時還要具備較好得項目分析得能力,加深對相關課程基本內容得理解。同時,在程序設計方法以及上機操作等基本技能與科學作風方面受到比較系統得練習二、綜合設計正文系統分析1、1系統開發(fā)背景、開發(fā)范圍、建設目標與必要性隨著計算機科學日漸成熟,其強大得功能已為人們深刻認識,它已進入人類社會得各
個領域并發(fā)揮著越來越重要得作用。當然對文本編輯操作仍然占據著重要地位,記事本就是簡單便捷得文本編輯器,可實現對文本編輯操作得基本功能1、2需求分析程序設計主要分為兩大部分:簡單GUI設計與程序功能設計。通過GUI設計實現圖形用戶界面,提供圖形菜單,方便用戶操作.使用JaVa語言編寫一個能夠對輸入文字提高進行操作,具有合理得界面,能夠在界面中實現右鍵快捷方式 ,對文檔內容進行編輯操提高作,并且能夠順利退出得程序。通過設計與實現一個具有基本功能得文本編輯器,我們對Java語言設計得掌握能力,理論聯系實際,進一步提高軟件開發(fā)技術,從而培養(yǎng)我們分析、解決問題得能力。系統設計2、1功能設計根據系統自帶得文檔編輯器得特征設計,包括如下得功能模塊:一、整體結構框架包括:菜單欄與文檔編輯區(qū)二、每個框架分別包含不同得子框架,各個模塊得具體框架:1、菜單欄:文件、編輯、工具、幫助2、菜單欄中各個子菜單功能文件:新建、打開、保存、另存為、退出編輯:剪切、復制、粘貼工具:查找、替換3、子菜單功能得實現主要得幾個功能介紹1)打開與另存為:兩個窗體調用系統函數直接利用1)打開與另存為:兩個窗體調用系統函數直接利用,注意格式得選擇2)查找:查找內容、查找、查找下一個4。文本編輯區(qū)監(jiān)視文本內容就是否改變、監(jiān)聽光標所在位置2、2系統運行環(huán)境與開發(fā)工具開發(fā)環(huán)境與工具:j開發(fā)環(huán)境與工具:jdk2、0EclipseSDK系統實施3、1?源程序importjavax、swing、*importjava、awt、*;}}}}importjava、io、*;importjava、awt、event、*publicclassTxtEditorextendsJFrameimp1ementsActionListenerString?String;StringtempString;?//上次保存后得文件名與地址String=""JPanelX=newJPane1();JTextAreawen=newJTextArea(20,50);JMenuItem(”字體”);em(”普通");JMenuItemzitl=newJMenuItema=newJMenuIt//定義菜單項JMenuItemxin=newJMenuItem("新建");JMenuItemopen=newJMenuItem(”打開");JMenuItemsave=newJMenuItem(”保存"JMenuItem1save=newJMenultem(”);另存為")JMenuItemtui=newJMenuItem(”退出")JMenuItemcut=newJMenultem(”剪切JMenuItemcopy=newJMenuItem("復制");JMenuItemcast=new");JMenultemdelete=nJMenuItem("粘貼");ewJMenuItem(”刪除”);JMenuItemb=newJMenuItJMenuItemc=newJMeem("粗體");nuItem("斜體");TxtEditor(){?super("文本編輯器”);?//對話框setBounds(250,100,700,450);setDefaultcloseOperation(DO_NOTHING_CN_CLOSE);?addWindowLlstener(newWindowAdapter(){publiintvoidwindowClosing(WindowEvente){option= JOptionPane、showConfirmDialog(XtEdior、this,”確定要退出嗎、、,"系統與您對話 ",JOptionPane、YES—NO—OPTION);ee、YES_OPTION)if(option==JOptionPan??????????(e、getWindow()System、eXreturn;TxtEditor、this)it0);}}}}});//熱鍵設置?xin、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_N,ActionEvent、CTRl__MASK));open、setAccelerator(KeyStroke、getKeyStroke(KeyEvent>VK0,ACtionEvent、CTRL_4ASK));ave、setAcce1erator(KeyStroke、getKeyStroke(KeyEvent、VKS,ActiS,ActionEvent>CTR—MAS);cut、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VK_X,ActionEvent、CTRL_MASK)Acti?copy、setAccelerator(KeyStroke、getKeyStroke(KeyEvent、VJC,ActionEvent、CTRL_MSAK));?cast、setAcce1erator(KeyStroke、getKeyStrok?cast、setAActActionEvent、CTRL_MASK));?//定義面板??//x、add(?add(newJScrollPane(wen))??//x、add(?add(newJScrollPane(wen));//)wen、setFont(newFont("楷體/wen、setBackground(Color、b//add(x);/菜單欄得創(chuàng)建JMenuBarcai=newJMenuBar();this、setJMenuBar(cai);?caian;//滾動條",Font、PLAIN,20));lue);、setOpaque(true);JMenuj1an=newJMenu("文件");jian、add(xin);、add(open);ian、add(save);jian、jian、add(1save);??jin、addSeparator( );??JMen??JMenubian=newjMenu("編輯 ");jian、add(tui);ca1、add(jian);bian、add(cut);?bian、add(copy);bian、adbian、add(cast);bian、add(de1ete);? cai、add(bian);??JMenugeshi=newJMenu("格式");JMenuoptionsMenu=new JMenu(”字體");geshi、add(optionsMenu);?optionsMenu、add(a);?optionsMenu、add(b);}}}}?optionsMenu、add(c);?cai、add(geshi);?//增加監(jiān)聽器xin、addActionListener(this);open、addActionListener(thls);save、addActionListener(this);1save1save、addActltui、addAconListener(this);tionLlstener(this);cut、addActionListener(this);?copy、addActlonListener(this);cast、addActionListenercast、??delete、addActionLis?zi、addAc??delete、addActionLis?zi、addActiotener(this);nListener(this);addActionL?b、addActionListstener(this);ener(this);?c、addActionListener(thls);?//文本框鎖定//th?//文本框鎖定//this、setResizable(false);//重寫方法??Stri??publicngacifvoidactlonPerformed(Action??Stri??publicngacifvoidactlonPerformed(ActionEvente){tlonmand=e、getActionmand();(e、getSource()instanceofJMenu);if(e、getSource()==x1n){newflle();elseifgetSourcepenflle();e、0==open){elself(e、getSource()==save){??vefile??vefile();elseelseif(e、getSource()==lsave){savefil);savefil);self(e、getSource()==cself(e、cutfile()??elseif(e、getSource()==copy){copyfile();???elself(e、getSource()==cast){castfile();?????? ?? System、out、println("found");?????? ?? System、out、println("found");??elseelse(e、getSource()==de1ete){deletef1le();?????????}?}elselseafilelscfileifif(ebf、getSource()==a){);(e、getSource()==b){le()e1f();e1se1f("?System、//publicve、退出exit方法定義getSource("、equals(0);newf1)==c){act1onmand))le(){savefile();wen、setText(null)//打開publicvoidopenfile(){Strindf=newg=null;(this,打開文件”,);?df、setVisible(true);?//建立新文件?F11ef=newFile(df、getDirectory()+df?F11ef=newFi//得到文件名=df、getDirectory()+df、getFi1e();//用此文件得長度建立一個字符數組(特別標注)charch[] =newchar(int)f、length。]//異常處理try??{??{//讀出數據,并存入字符數組ch中BuferedReaderbw=newBufferedReader(new(f) )BuferedReaderbw=newBufferedReader(new(f) );??bw、??bw、read(ch);bw、close();??catch(e){??? ??? }??? ??? }??Sytem、exit(O);atch(IOEXceptionie){SysSytem、out、pstem、exit(0rintln("IOerror"););? S twenrings=newSt、setText(s)}保存ri??//??publicvoidsavefiie()??if(("")){????df=new(this,”保存文件”,);??df、addWindowListene?pubiicvoidwindowc???System、eXit(0);???}?};df、setVisible(t???Strings=wen、getText();?try??{??Fiief=newFile(df、=df、getDirecto?BufferedWriter}rbf));ng(ch);(newWindowAdapter(){osing(WindowEventee){rue);getDirectory()+df、getFile());y()+df、getFile();w=newBufferedWriter(newbw、write(length());???bwclose);}???????catche_){SystSysteemout、//prim、exit(0);ntinfound”);catch(lOEXceptioniSystem、out、prSystem、exit(如果文件已經保存過eise{Stringtryntln0);s=wen、getText("IOerror"););????}}????}}?????????Filef=newFile( );ufferedWriterbw=newBufferedWrite r(new(f) );???bw????????????bw、write(s,0、close);catch(fe_){System、OUt、System、exit(0);}catch(IOExceptionSystemSystem、}}/另存為publicvdf=df、a};、丨ength());println(”found”);e_)out、println("IOerrorexit(0);oidlsaveflle(){new(this,"另存為",));dowAdapter(){ddWindowListener(newWinblicvoldwlndowClosing(WindowEventee){SystedfStringstrym、exlt(0);etVisible(true);=wen、getText();FileFilef=newFlle(df、getDirectory()+df、getFile());BufferedWriterbwnewBufferedWriter(newf));bw、writes、length());bw、close);catcate_){stem、out、printl/”
n(”ound");Systemit(0);at(IOExceptlonie_)System、out、printn("IOerror”);System、exlt(0);nnt()、getSize()) );//斜體文字//剪切pub1vodcutfile(){empStr1ng=wen、getSeleCtedText();tr1ngBuffertmp=newStringBuffer(wen、getText());??intstart=wen、getSelect1onStart);inttmp)、//復制publtepubicvoidlen=wen、get、delete(stwen、setText(tmmpString=w粘貼icvoidcaopyf1le(){en、getSelectfile(){StringBuffe//得到要粘貼得位置intstar?tmp//putmpt=wen、get、insert(start用新文本設置原文本wen、setText(tmp、/刪除Strininint1tmp、?wen、//字體t()、cvoidgBuffertstartSe1ectedText()、art,start+p、toStringtedText();newStringBufferSelectionStart();tempString);toString());deletefile(){tmp=newStringBufferen=wen、delete(stsetTextlength();1en));wen、getTet());wen、getTex());publicvowen、setidafiFontwen、getSelectionStartgetSelectedText()、letmp、te(){newgetSize()));//普通文字ubl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高端建筑用無縫鋼管采購協議2篇
- 2025版大型養(yǎng)殖場專用鴨苗采購合同模板3篇
- 2025版智能交通信號系統建設與運營服務合同3篇
- 2025版情侶戀愛情感培養(yǎng)合同模板9篇
- 2025年度鋼管行業(yè)產業(yè)鏈整合與升級合同2篇
- 2025-2030全球防篡改技術行業(yè)調研及趨勢分析報告
- 2025-2030全球全自動電池包裝機行業(yè)調研及趨勢分析報告
- 2024年全國現場流行病學調查職業(yè)技能競賽考試題庫-上部分(600題)
- 2025-2030全球真空度測試儀行業(yè)調研及趨勢分析報告
- 2024年禁毒知識競賽試題庫(多選題)
- 2024-2025學年高二上學期期末數學試卷(新題型:19題)(基礎篇)(含答案)
- 北師大版三年級數學(上冊)看圖列式計算(完整版)
- 2023中考地理真題(含解析)
- 麻醉藥品、精神藥品月檢查記錄表
- 浙江省寧波市海曙區(qū)2022學年第一學期九年級期末測試科學試題卷(含答案和答題卡)
- 高考英語詞匯3500電子版
- 建院新聞社成立策劃書
- JJF 1101-2019環(huán)境試驗設備溫度、濕度參數校準規(guī)范
- GB/T 25000.51-2016系統與軟件工程系統與軟件質量要求和評價(SQuaRE)第51部分:就緒可用軟件產品(RUSP)的質量要求和測試細則
- 外科學試題庫及答案(共1000題)
- 運動技能學習與控制課件第十三章動作技能的保持和遷移
評論
0/150
提交評論