簡單的記事本程序java編寫_第1頁
簡單的記事本程序java編寫_第2頁
簡單的記事本程序java編寫_第3頁
簡單的記事本程序java編寫_第4頁
簡單的記事本程序java編寫_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、華北科技學院計算機系軟件報告課程名稱 Java 程序設計 A實驗學期 2010 至 2011 學年 第 二 學期學生所在系部管理系年級 三專業(yè)班級電子商務B09-2學生姓名 張莉?qū)W號任課教師實驗成績計算機系制華北科技學院計算機系報告Java程序設計A課程考試報告開課實驗室:軟件開發(fā)實驗室年 月 日實驗題目簡易記事本軟件一、實驗目的a) 掌握面向?qū)ο蟪绦蛟O計基本要素(封裝、繼承、多態(tài))b) 掌握JAVA語言常用類包及其常用方法和JAVA語言基本語法c) 掌握基于AWT的圖形用戶界面設計i. 常用標準控件的使用,如標簽、按鈕、菜單、文本框、單選按鈕、滾動條等。ii. 事件處理機制d) 掌握布局、對

2、話框的使用e) 掌握發(fā)布JAVA應用程序二、設備與環(huán)境PC兼容機、Windows操作系統(tǒng)、JAVA集成開發(fā)環(huán)境。三、實驗內(nèi)容1. 完成記事本的需求分析。2. 記事本的總體設計,列出主要的類和類間關系。3. 列出具體的實現(xiàn)代碼。4. 寫出程序的實現(xiàn)細節(jié),主要得功能界面,實現(xiàn)說明。5. 寫出總結和評價四、實驗結果及分析1. 需求分析本程序是一個簡單的記事本程序,其主要結構參照了 Windows操作系統(tǒng)的記事本工具。能夠?qū)崿F(xiàn)一些基本功能,主要有:(1) 具有編輯界面,能夠?qū)崿F(xiàn)文本的輸入、刪除等基本功能。(2) 具有菜單條,包含三個主菜單:文件、編輯、幫助。(3) 各個主菜單分別擁有其菜單選項。(4)

3、 文件主菜單含有新建、打開、保存、另存為、退出五個菜單選項;(5) 編輯主菜單含有剪切、粘貼、復制、全選四個菜單選項。(6) 幫助主菜單好友關于記事本信息的菜單選項,主要記錄了記事本文件的基本信息。(7) 各個菜單選項能夠?qū)崿F(xiàn)其對應的功能。(8) 實現(xiàn)剪切、復制、粘貼、全選即編輯菜單的鼠標跳出菜單功能。(9) 各功能具有快捷鍵。2. 軟件設計(1)記事本的主體頁面設計圖::e世=m冃=三工 j Ill ?nl mil iiIiiiIiiii In iIbm hail iibIiiiIiiiIiii毗j 2££j 334 r|4Bnu mil llliiiliiihii un

4、i iilii iliii liiiil hi hiiiiii ill ii In il in h iiuiiiillllli ll m hull 111HNlullIlJllll lllh llloudinhlllllllllllimllll».SiJ錘i融1文件 報 軒(2) 程序設計思想 首先設計出整個記事本的主體框架,添加菜單欄(JMenu),添加菜單選項(JMenultem )。這部分應用到了 Con tai ner、JMe nuBar、JMe nu、JMe nultem的構造方法,實現(xiàn)對記事本的基本頁面設計。 在頁面中添加編輯局域,應用了 JTextArea的構造方法。

5、實現(xiàn)各個菜單選項的功能。在具體的功能實現(xiàn)中,為每一個功能設計了一個類,通過監(jiān)聽調(diào)用類方法實現(xiàn)所需要實現(xiàn)的功能。 程序中的類以及它們之間的關系:本程序總共含有9個類:Notebook。主類:他實現(xiàn)了記事本的基本框架構造,以及對記事本各個功能的監(jiān)聽,并且調(diào)用各個功能的類方法。在 Notebook。中,加入了編輯菜單的彈出菜單功能。在Notebook。主類中,通過事件監(jiān)聽調(diào)用了剪切、復制、保存等功能的類方法:NewActionListener ():實現(xiàn)"新建”功能的類SaveActionListener ():實現(xiàn)"保存”功能的類OpenActionListener ():實現(xiàn)

6、"打開”功能的類ExitActionListener ():實現(xiàn)"退出”功能的類CutActionListener ():實現(xiàn)"剪切”功能的類CopyActionListener ():實現(xiàn)"粘貼”功能的類SallActionListener ():實現(xiàn)"全選”功能的類AbouthActionListener ():實現(xiàn)"關于”功能的類整個程序框架:3. 程序代碼主函數(shù):import java.awt.*;import java.awt.eve nt.*;import java.io.*;import javax.swi ng.*;p

7、ublic class MyNotebookpublic static void mai n( Stri ng args) new Notebook();Notebook (主類: import java.awt.*;import java.awt.eve nt.*;import java.io.*;import javax.swi ng.*;public class Notebook exte nds JFrame Container container;JFileChooser fc=new JFileChooser();File file=nu II;JMe nuBar mb;JMe n

8、u fileMe nu,editMe nu,helpMe nu;JMe nultemn ewItem,ope nltem,saveltem,saveasltem,exitltem,cutltem,copyltem,pasteltem,sallltem,aboutltem; JTextArea jta;JPopupMe nu popUpMe nu;public Notebook()記事本主界面設計程序/setTitle("記事本");con tai ner=this.getC on te ntPa ne();container.setLayout(new BorderLayo

9、ut(); jta=new JTextArea();contain er.add(jta); setVisible(true); setSize(650, 450); mb=new JMe nuBar(); setJMe nuBar(mb);文件菜單及其菜單選項的程序設計/fileMe nu=n ew JMe nu(” 文件"); n ewltem=new JMe nultem(” 新建");/設置快捷鍵/n ewltem.N ,Actio nEve nt.CTRL設置“新建”事件監(jiān)聽/n ewItem.addActio nListe ner(new NewActio nL

10、iste ner();fileMe nu.add( newItem);fileMe nu .addSeparator();ope nltem=new JMe nultemC 打開");ope nltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_O ,Actio nEve nt.CTRL_MASK)Jope nltem.addActio nListe ner(new Ope nActio nListe ner(); fileMe nu .add(ope nltem);fileMe nu .addSeparator();sav

11、eltem=new JMe nultem( 保存");saveltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_S ,Actio nEve nt.CTRL_MASK); saveltem.addActio nListe ner(new SaveActio nListe ner();fileMe nu.add(saveltem);fileMe nu .addSeparator(); saveasltem=new JMe nultem(另存為");saveasltem.setAccelerator(KeyStroke

12、.getKeyStroke(KeyEve nt.VK_A,Actio nEve nt.CTRL_MASK ); _ _ saveasltem.addActio nListe ner(new SaveActio nListe ner();fileMe nu.add(saveasltem);fileMe nu .addSeparator(); exitltem=new JMenultem("退出");exitltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_E ,Actio nEve nt.CTRL_MASK); e

13、xitltem.addActio nListe ner(new ExitAct ion Liste ner();fileMe nu.add(exitltem);mb.add(fileMe nu);編輯菜單欄及其菜單選項程序設計/editMe nu=new JMe nu("編輯"); cutltem=new JMe nultem("剪切"); cutltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_X,Actio nEve nt.CTRL_MASK);-cutltem.addActio nLis

14、te ner(new CutActio nListe ner(); editMe nu .add(cutltem); editMe nu.addSeparator(); copyltem=new JMe nultem("復制"); copyltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_C,Actio nEve nt.CTRL_MASK);-copyltem.addActio nListe ner(new CopyActio nListe ner(); editMe nu .add(copyltem); edi

15、tMe nu.addSeparator();pasteltem=new JMe nultem (粘貼"); pasteltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_VActio nEve nt.CTRL_MASK);-pasteltem.addAct ion Liste ner(new PasteActio nListe ner(); editMe nu .add(pasteltem); editMe nu.addSeparator();sallltem=new JMe nultem(” 全選"); sall

16、ltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_M,Actio nEve nt.CTRL_MASK);-sallltem.addActio nListe ner(new SallActio nListe ner(); editMe nu.add(sallltem);mb.add(editMe nu);幫助菜單欄及其菜單選項程序設計/ helpMe nu=new JMe nu("幫助");aboutltem=new JMenultem(關于記事本");aboutltem.addActio nListe

17、ner(new AbouthActio nListe ner(); helpMe nu .add(aboutltem);mb.add(helpMe nu);/編輯菜單的鼠標監(jiān)聽及其彈出菜單的功能設計/popUpMe nu = editMe nu .getPopupMe nu(); jta.addMouseListe ner( new MouseAdapter() public void mouseReleased(MouseEve nt e) if(e.getButt on() = MouseEve nt.BUTTON3) popUpMe nu.show(editMe nu, e.getX()

18、, e.getY();public void mouseClicked(MouseEve nt e) if(e.getButto n() = MouseEve nt.BUTTON1) popUpMe nu.setVisible(false););/ “新建”功能的實現(xiàn)/class NewActio nListe ner impleme nts Actio nListe ner public void actio nPerformed(Actio nEve nt e) jta.setText("");file=n ull;/ “保存功能的實現(xiàn)” /class SaveActi

19、o nListe ner impleme nts Actio nListe nerpublic void actio nPerformed(Actio nEve nt e) if(file!=null) fc.setSelectedFile(file);int retur nV al=fc.showSaveDialog(Notebook.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=fc.getSelectedFile();savi ng();void sav in g()tryFileWriter Writef= new File

20、Writer(file); Writef.write(jta.getText();Writef.close(); catch(Excepti on e)e.pri ntStackTrace();/ “打開”功能的實現(xiàn)class Ope nActio nListe ner impleme nts Actio nListe ner public void actio nPerformed(Actio nEve nt e) if(file !=n ull)fc.setSelectedFile(file);int returnVal=fc.showOpe nDialog(Notebook.this);

21、 if(returnVal=JFileChooser.APPROVE_OPTION) file=fc.getSelectedFile();un fold(); void un fold() tryFileReader Readf= new FileReader(file); in t le n=(i nt)file .len gth(); char buffer =new charle n; Readf.read(buffer,0,le n); Readf.close();jta.setText (new Stri ng(buffer); catch(Excepti on e)e.pri nt

22、StackTrace(); / “退出”功能的實現(xiàn)/class ExitAct ion Liste ner impleme nts Actio nListe ner public void actio nPerformed(Actio nEve nt e) setVisible(false);dispose();System.exit(O);/ “剪切”功能的 實現(xiàn)/class CutActi on Liste ner impleme nts Actio nListe ner public void actio nPerformed(Actio nEve nt e) jta.cut();/ “

23、復制”功能的實現(xiàn)/class CopyActio nListe ner impleme nts Actio nListe nerpublic void actio nPeformed(Actio nEve nt e) jta.copy();/ “粘貼”功能的實現(xiàn)class PasteActio nListe ner impleme nts Actio nListe ner public void actio nPeformed(Actio nEve nt e) jta.paste();/ “全選”功能的實現(xiàn)/class SallAct ion Liste ner impleme nts Actio nListe nerpublic void actio nPeformed(Actio nEve nt e) jta.setSelectio nStart(O);jta.setSelectio nEn d(jta.getText().le ngth(); / “關于”功能的實現(xiàn)/class AbouthActio nListe ner impleme nts Actio nListe nerpublic void actio nPeformed(Actio nEve nt e) String msg ="這是一個記事本 制作者:張莉"Stri

溫馨提示

  • 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

提交評論