




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java程序設(shè)計(jì)課程綜合性實(shí)驗(yàn)報告開課實(shí)驗(yàn)室: 基礎(chǔ)實(shí)驗(yàn)室二 2010 年 12 月 17 日實(shí)驗(yàn)題目我的寫字板一、實(shí)驗(yàn)?zāi)康耐ㄟ^編寫Java的應(yīng)用系統(tǒng)綜合實(shí)例簡易寫字板軟件,總結(jié)、回顧和實(shí)踐面向?qū)ο蟮木幊趟枷胍约熬幊谭椒ǎ⑼ㄟ^編寫程序來掌握J(rèn)ava語言編程技巧,將學(xué)習(xí)到的知識融會貫通,同時提高調(diào)試程序的能力,養(yǎng)成良好的編程習(xí)慣,并增強(qiáng)對程序設(shè)計(jì)整體思路的把握。熟悉在集成開發(fā)環(huán)境下編寫Java程序。二、設(shè)備與環(huán)境 硬件:多媒體計(jì)算機(jī)軟件:Windows 2000以上的操作系統(tǒng)、JDK開發(fā)包、集成開發(fā)環(huán)境MyEclipse 7.0 Blue三、實(shí)驗(yàn)內(nèi)容總體要求:程序功能基本完成,用戶界面友好,代
2、碼的可維護(hù)性和可擴(kuò)展性較好,最好包括必要的注釋和相應(yīng)的文檔。具體要求:基本的文本錄入,字符修改,刪除,換行,粘貼,復(fù)制,剪切等功能,主要包括:1 菜單欄設(shè)計(jì)及功能實(shí)現(xiàn):菜單欄主要包括文件、編輯、格式、幫助等常見菜單。其中文件菜單有新建、打開、保存、另存為、退出等功能;編輯菜單有剪切、復(fù)制、粘貼、等功能;格式菜單含有對文字字體、字型、字號及顏色等的設(shè)置功能,根據(jù)情況可在編輯菜單添加查找和查找替換功能。2 編輯區(qū)設(shè)計(jì):對文本的編輯處理區(qū)。3 工具欄設(shè)計(jì):可根據(jù)需要增加該項(xiàng)功能。4 其他功能設(shè)計(jì)。四、實(shí)驗(yàn)結(jié)果及分析1主界面的設(shè)計(jì)與實(shí)現(xiàn)整個界面共包括2部分,如圖1所示,最上面是菜單欄,中部是主文本區(qū)。
3、 圖1 主界面 菜單的設(shè)計(jì)本程序共設(shè)計(jì)5個菜單,分別是文件,編輯,格式,查看,幫助,其中文件菜單實(shí)現(xiàn)了新建,打開,保存,另存為,退出程序功能,編輯菜單實(shí)現(xiàn)了復(fù)制,剪切,全選,清楚功能,格式菜單實(shí)現(xiàn)了字體,文字顏色,背景顏色,自動換行功能,視圖窗體主要控制菜單欄和格式欄是否顯示,幫助菜單里是一個關(guān)于程序的介紹。各個菜單的功能見圖2。 圖2 各菜單功能 編輯區(qū)設(shè)計(jì)編輯區(qū)可以實(shí)現(xiàn)文字的輸入,編輯,復(fù)制,剪切,粘貼等,也可以實(shí)現(xiàn)彈出式菜單,彈出式菜單可以進(jìn)行復(fù)制,剪切,粘貼操作。編輯區(qū)是一個JTextArea,被添加到了窗體的中部。2文件菜單中各項(xiàng)功能的實(shí)現(xiàn)新建功能設(shè)計(jì)/*以下代碼實(shí)現(xiàn)新建功能*?if
4、(egret Action Command().equals(新建) Jota. set Text(); 打開功能設(shè)計(jì)/*以下代碼實(shí)現(xiàn)打開功能*?if(egret Action Command().equals(打開) try Frame f=new Frame(); File Dialog fad=new File Dialog(f,打開文件,File Dialog. LOAD); fd.set Visible(true); String fpath=fd.getDirectory(); String fname=fd.getFile(); BufferedReader br=new Buf
5、feredReader(new FileReader(fpath+fname); jta.setText(); String s=br.readLine(); while(s!=null) jta.append(s+n); s=br.readLine(); br.close(); catch(Exception ex) 保存和另存為功能設(shè)計(jì)/*以下代碼實(shí)現(xiàn)保存功能*/if(vegetal action Command().equals(保存) String fns=null; Frame f=new Frame(保存); File Dialog fd=new File Dialog(f,保存文
6、件,File Dialog. SAVE); fd.set File(*.txt); fd.setVisible(true); try String savepath=fd.getDirectory(); String savename=fd.getFile(); if(savename!=null) PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter(savepath+savename); pw.write(jta.getText(),0,jta.getText().length(); pw.flush(); cat
7、ch(Exception esave) /*以下代碼實(shí)現(xiàn)另存為功能*/if(e. getActionCommand().equals(另存為) Frame f=new Frame(保存); FileDialog fd=new FileDialog(f,文件另存為,FileDialog.SAVE); fd.setVisible(true); try String savepath=fd.getDirectory(); String savename=fd.getFile(); if(savename!=null) PrintWriter pw=new PrintWriter(new Buffer
8、edWriter(new FileWriter(savepath+savename); pw.write(jta.getText(),0,jta.getText().length(); pw.flush(); catch(Exception esave) 復(fù)制,剪切,粘貼,全選,刪除功能的實(shí)現(xiàn)if(e. get Action Command().equals(剪切) jta.cut(); if(e.getActionCommand().equals(復(fù)制) jta.copy(); if(e.getActionCommand().equals(粘貼) jta.paste(); if(e.getA
9、ctionCommand().equals(刪除) if(e.getActionCommand().equals(全選) jta.selectAll(); 查找功能實(shí)現(xiàn)if(e.getActionCommand().equals(查找) try final JDialog jd=new JDialog(this,查找,true); GridBagLayout gbl=new GridBagLayout(); GridBagConstraints gbc=new GridBagConstraints(); gbc.weightx=0.5; gbc.weighty=0.5; gbc.gridwid
10、th=1; gbc.gridheight=1; jd.getContentPane().setLayout(gbl); jd.setSize(380,100); jd.setResizable(false); final JTextField jtf=new JTextField(15); JLabel jlFind=new JLabel(查找內(nèi)容:); jd.getContentPane().add(jlFind); JButton jbFind=new JButton(查找); jbFind.addActionListener(new ActionListener() public voi
11、d actionPerformed(ActionEvent efind) String strA=jta.getText(); String strB=jtf.getText(); if(a=0) a=strA.indexOf(strB,StartFindPos); b=strB.length(); StartFindPos=a+b; if(a=-1) JOptionPane.showMessageDialog(null, 沒有您要查找的信息, 查找結(jié)果,1); a=0; StartFindPos=0; jta.select(a,StartFindPos); ); JButton jbCanc
12、el=new JButton(取消); jbCancel.addActionListener(new ActionListener() public void actionPerformed(ActionEvent ejb) jd.dispose(); ); jd.getContentPane().add(jtf); jd.getContentPane().add(jbFind); jd.getContentPane().add(jbCancel); jd.setLocation(240,200); jd.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
13、jd.setVisible(true); catch(Exception efind) 替換的實(shí)現(xiàn)if(e.getActionCommand().equals(替換) final JDialog jd=new JDialog(this,替換,true); GridBagLayout gbl=new GridBagLayout(); GridBagConstraints gbc=new GridBagConstraints(); gbc.weightx=1; gbc.weighty=1; gbc.gridwidth=1; gbc.gridheight=1; JLabel jlFind=new J
14、Label(查找:); JLabel jp=new JLabel(替換內(nèi)容:); final JTextField jtf=new JTextField(15); final JTextField jtf1=new JTextField(15); jd.getContentPane().setLayout(gbl); jd.setSize(330,150); jd.setResizable(false); final JButton jbReplace=new JButton(替換); final JButton jbReplaceAll=new JButton(替換所有); final JB
15、utton jbCancel=new JButton(取消); final JButton jbFind=new JButton(查找); gbc.gridx=0; gbc.gridy=0; jd.getContentPane().add(jlFind,gbc); gbc.gridx=1; gbc.gridy=0; jd.getContentPane().add(jtf1,gbc); gbc.gridx=2; gbc.gridy=0; jd.getContentPane().add(jbFind,gbc); gbc.gridx=0; gbc.gridy=1; jd.getContentPane
16、().add(jp,gbc); gbc.gridx=1; gbc.gridy=1; jd.getContentPane().add(jtf,gbc); gbc.gridx=2; gbc.gridy=1; jd.getContentPane().add(jbReplace,gbc); gbc.gridx=2; gbc.gridy=2; jd.getContentPane().add(jbReplaceAll,gbc); gbc.gridx=2; gbc.gridy=3; jd.getContentPane().add(jbCancel,gbc); jbFind.addActionListener
17、(new ActionListener() public void actionPerformed(ActionEvent efind) String strA=jta.getText(); String strB=jtf1.getText(); if(a=0) a=strA.indexOf(strB,StartFindPos); b=strB.length(); StartFindPos=a+b; if(a=-1) JOptionPane.showMessageDialog(null, 沒有您要查找的信息, 查找結(jié)果,1); a=0; StartFindPos=0; jta.select(a
18、,StartFindPos); ); jbReplace.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(e.getActionCommand().equals(替換) String strRepleace=jtf.getText(); jta.replaceSelection(strRepleace); ); jbReplaceAll.addActionListener(new ActionListener() public void actionPerformed(Ac
19、tionEvent e) while(a-1) String strA=jta.getText(); String strB=jtf1.getText(); a=strA.indexOf(strB,StartFindPos); if(a=-1) break; b=strB.length(); StartFindPos=a+b; jta.select(a,StartFindPos); String strRepleaceAll=jtf.getText(); jta.replaceSelection(strRepleaceAll); StartFindPos=a+b; JOptionPane.showMessageDialog(null, 全部替換完畢, 替換內(nèi)容,1); a=0; StartFindPos=0; ); jbCancel.addActionListener(new Act
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025主體勞務(wù)合同范本AA:雙方權(quán)利與義務(wù)明確約定
- 廣東省茂名市2024~2025學(xué)年 高三下冊半月考(三)數(shù)學(xué)試卷附解析
- 模式識別與分類-洞察闡釋
- 2024年河北公務(wù)員行測(A類)真題及答案
- 鄭州市第九人民醫(yī)院招聘專業(yè)技術(shù)人才筆試真題2024
- 云浮市羅定市招聘公益性崗位人員筆試真題2024
- 永州市江永縣招聘事業(yè)單位人員筆試真題2024
- 石大學(xué)前兒童保育學(xué)課外必讀:孩子們最愛聽的40句話
- 2025年高校輔導(dǎo)員考試基礎(chǔ)知識試題
- 音樂版權(quán)經(jīng)紀(jì)市場分析-洞察闡釋
- 2025年陜西省新高考語文試卷(含答案解析)
- 上海市社區(qū)工作者管理辦法
- T∕CSTM 00839-2022 材料基因工程術(shù)語
- 通用橋式起重機(jī)施工過程記錄表
- 電梯安裝施工進(jìn)度及保證措施
- NLP神經(jīng)語言學(xué)培訓(xùn)課件(PPT 164頁)
- 腦卒中康復(fù)PPT醫(yī)學(xué)課件
- PCB 企業(yè)生產(chǎn)工藝及風(fēng)險點(diǎn)
- Grace評分表、TIMI評分、CRUSAD評分、wells評分等
- 消防安全工作臺賬-消防臺賬記錄
- 中考數(shù)學(xué)《分式及分式方程》計(jì)算題(附答案)
評論
0/150
提交評論