Java程序設(shè)計_記事本_第1頁
Java程序設(shè)計_記事本_第2頁
Java程序設(shè)計_記事本_第3頁
Java程序設(shè)計_記事本_第4頁
Java程序設(shè)計_記事本_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Java程序設(shè)計課程綜合性實驗報告開課實驗室: 基礎(chǔ)實驗室二 2010 年 12 月 17 日實驗題目我的寫字板一、實驗?zāi)康耐ㄟ^編寫Java的應(yīng)用系統(tǒng)綜合實例簡易寫字板軟件,總結(jié)、回顧和實踐面向?qū)ο蟮木幊趟枷胍约熬幊谭椒?,并通過編寫程序來掌握J(rèn)ava語言編程技巧,將學(xué)習(xí)到的知識融會貫通,同時提高調(diào)試程序的能力,養(yǎng)成良好的編程習(xí)慣,并增強(qiáng)對程序設(shè)計整體思路的把握。熟悉在集成開發(fā)環(huán)境下編寫Java程序。二、設(shè)備與環(huán)境 硬件:多媒體計算機(jī)軟件:Windows 2000以上的操作系統(tǒng)、JDK開發(fā)包、集成開發(fā)環(huán)境MyEclipse 7.0 Blue三、實驗內(nèi)容總體要求:程序功能基本完成,用戶界面友好,代

2、碼的可維護(hù)性和可擴(kuò)展性較好,最好包括必要的注釋和相應(yīng)的文檔。具體要求:基本的文本錄入,字符修改,刪除,換行,粘貼,復(fù)制,剪切等功能,主要包括:1 菜單欄設(shè)計及功能實現(xiàn):菜單欄主要包括文件、編輯、格式、幫助等常見菜單。其中文件菜單有新建、打開、保存、另存為、退出等功能;編輯菜單有剪切、復(fù)制、粘貼、等功能;格式菜單含有對文字字體、字型、字號及顏色等的設(shè)置功能,根據(jù)情況可在編輯菜單添加查找和查找替換功能。2 編輯區(qū)設(shè)計:對文本的編輯處理區(qū)。3 工具欄設(shè)計:可根據(jù)需要增加該項功能。4 其他功能設(shè)計。四、實驗結(jié)果及分析1主界面的設(shè)計與實現(xiàn)整個界面共包括2部分,如圖1所示,最上面是菜單欄,中部是主文本區(qū)。

3、 圖1 主界面 菜單的設(shè)計本程序共設(shè)計5個菜單,分別是文件,編輯,格式,查看,幫助,其中文件菜單實現(xiàn)了新建,打開,保存,另存為,退出程序功能,編輯菜單實現(xiàn)了復(fù)制,剪切,全選,清楚功能,格式菜單實現(xiàn)了字體,文字顏色,背景顏色,自動換行功能,視圖窗體主要控制菜單欄和格式欄是否顯示,幫助菜單里是一個關(guān)于程序的介紹。各個菜單的功能見圖2。 圖2 各菜單功能 編輯區(qū)設(shè)計編輯區(qū)可以實現(xiàn)文字的輸入,編輯,復(fù)制,剪切,粘貼等,也可以實現(xiàn)彈出式菜單,彈出式菜單可以進(jìn)行復(fù)制,剪切,粘貼操作。編輯區(qū)是一個JTextArea,被添加到了窗體的中部。2文件菜單中各項功能的實現(xiàn)新建功能設(shè)計/*以下代碼實現(xiàn)新建功能*?if

4、(egret Action Command().equals(新建) Jota. set Text(); 打開功能設(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è)計/*以下代碼實現(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) /*以下代碼實現(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ù)制,剪切,粘貼,全選,刪除功能的實現(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(); 查找功能實現(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) 替換的實現(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論