




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、華北科技學(xué)院計算機(jī)系軟件報告課程名稱 Java 程序設(shè)計 A實驗學(xué)期 2010 至 2011 學(xué)年 第 二 學(xué)期學(xué)生所在系部管理系年級 三專業(yè)班級電子商務(wù)B09-2學(xué)生姓名 張莉?qū)W號任課教師實驗成績計算機(jī)系制華北科技學(xué)院計算機(jī)系報告Java程序設(shè)計A課程考試報告開課實驗室:軟件開發(fā)實驗室年 月 日實驗題目簡易記事本軟件一、實驗?zāi)康腶) 掌握面向?qū)ο蟪绦蛟O(shè)計基本要素(封裝、繼承、多態(tài))b) 掌握J(rèn)AVA語言常用類包及其常用方法和JAVA語言基本語法c) 掌握基于AWT的圖形用戶界面設(shè)計i. 常用標(biāo)準(zhǔn)控件的使用,如標(biāo)簽、按鈕、菜單、文本框、單選按鈕、滾動條等。ii. 事件處理機(jī)制d) 掌握布局、對
2、話框的使用e) 掌握發(fā)布JAVA應(yīng)用程序二、設(shè)備與環(huán)境PC兼容機(jī)、Windows操作系統(tǒng)、JAVA集成開發(fā)環(huán)境。三、實驗內(nèi)容1. 完成記事本的需求分析。2. 記事本的總體設(shè)計,列出主要的類和類間關(guān)系。3. 列出具體的實現(xiàn)代碼。4. 寫出程序的實現(xiàn)細(xì)節(jié),主要得功能界面,實現(xiàn)說明。5. 寫出總結(jié)和評價四、實驗結(jié)果及分析1. 需求分析本程序是一個簡單的記事本程序,其主要結(jié)構(gòu)參照了 Windows操作系統(tǒng)的記事本工具。能夠?qū)崿F(xiàn)一些基本功能,主要有:(1) 具有編輯界面,能夠?qū)崿F(xiàn)文本的輸入、刪除等基本功能。(2) 具有菜單條,包含三個主菜單:文件、編輯、幫助。(3) 各個主菜單分別擁有其菜單選項。(4)
3、 文件主菜單含有新建、打開、保存、另存為、退出五個菜單選項;(5) 編輯主菜單含有剪切、粘貼、復(fù)制、全選四個菜單選項。(6) 幫助主菜單好友關(guān)于記事本信息的菜單選項,主要記錄了記事本文件的基本信息。(7) 各個菜單選項能夠?qū)崿F(xiàn)其對應(yīng)的功能。(8) 實現(xiàn)剪切、復(fù)制、粘貼、全選即編輯菜單的鼠標(biāo)跳出菜單功能。(9) 各功能具有快捷鍵。2. 軟件設(shè)計(1)記事本的主體頁面設(shè)計圖::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) 程序設(shè)計思想 首先設(shè)計出整個記事本的主體框架,添加菜單欄(JMenu),添加菜單選項(JMenultem )。這部分應(yīng)用到了 Con tai ner、JMe nuBar、JMe nu、JMe nultem的構(gòu)造方法,實現(xiàn)對記事本的基本頁面設(shè)計。 在頁面中添加編輯局域,應(yīng)用了 JTextArea的構(gòu)造方法。
5、實現(xiàn)各個菜單選項的功能。在具體的功能實現(xiàn)中,為每一個功能設(shè)計了一個類,通過監(jiān)聽調(diào)用類方法實現(xiàn)所需要實現(xiàn)的功能。 程序中的類以及它們之間的關(guān)系:本程序總共含有9個類:Notebook。主類:他實現(xiàn)了記事本的基本框架構(gòu)造,以及對記事本各個功能的監(jiān)聽,并且調(diào)用各個功能的類方法。在 Notebook。中,加入了編輯菜單的彈出菜單功能。在Notebook。主類中,通過事件監(jiān)聽調(diào)用了剪切、復(fù)制、保存等功能的類方法: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)"關(guā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()記事本主界面設(shè)計程序/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);文件菜單及其菜單選項的程序設(shè)計/fileMe nu=n ew JMe nu(” 文件"); n ewltem=new JMe nultem(” 新建");/設(shè)置快捷鍵/n ewltem.N ,Actio nEve nt.CTRL設(shè)置“新建”事件監(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);編輯菜單欄及其菜單選項程序設(shè)計/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("復(fù)制"); 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);幫助菜單欄及其菜單選項程序設(shè)計/ helpMe nu=new JMe nu("幫助");aboutltem=new JMenultem(關(guān)于記事本");aboutltem.addActio nListe
17、ner(new AbouthActio nListe ner(); helpMe nu .add(aboutltem);mb.add(helpMe nu);/編輯菜單的鼠標(biāo)監(jiān)聽及其彈出菜單的功能設(shè)計/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、復(fù)制”功能的實現(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(); / “關(guān)于”功能的實現(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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地中海貧血的健康宣教
- 動脈瘤的健康宣教
- 貴州季期第三實驗校2023-2024學(xué)年中考數(shù)學(xué)全真模擬試卷含解析
- 2025年商業(yè)店鋪租賃合同(律師標(biāo)準(zhǔn)版)(可修改可打?。?/a>
- 嵌頓疝氣護(hù)理查房
- 奶茶行業(yè)薪酬的變化趨勢
- 頸動脈體瘤的健康宣教
- 心肌梗死后心包炎的健康宣教
- 2025年益陽貨運(yùn)上崗證考試
- 壁掛爐維修培訓(xùn)
- 深入貫徹學(xué)習(xí)2025年中央八項規(guī)定精神教育測試題及答案
- 沖壓工理論知識試題(附答案)
- 全媒體運(yùn)營中的用戶畫像構(gòu)建試題及答案
- 2025年第三屆天揚(yáng)杯建筑業(yè)財稅知識競賽題庫附答案(601-700題)
- 華北電力大學(xué)丁肇豪:多主體數(shù)據(jù)中心算力-電力跨域協(xié)同優(yōu)化
- 顱內(nèi)出血護(hù)理操作
- (二調(diào))棗莊市2025屆高三模擬考試歷史試卷(含答案)
- 2024-2025學(xué)年下學(xué)期初中歷史八年級第二單元A卷
- 剪映電腦版課件
- 2025基礎(chǔ)教育改革綱要
- 2025-2030年中國LPG行業(yè)市場運(yùn)行現(xiàn)狀及發(fā)展前景分析報告
評論
0/150
提交評論