Java語言程序設(shè)計(jì)報(bào)告_第1頁
Java語言程序設(shè)計(jì)報(bào)告_第2頁
Java語言程序設(shè)計(jì)報(bào)告_第3頁
Java語言程序設(shè)計(jì)報(bào)告_第4頁
Java語言程序設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、累湖f隨Java程序設(shè)計(jì)課程設(shè)計(jì)題 目巢湖學(xué)院計(jì)算機(jī)與信息工程學(xué)院實(shí)驗(yàn)報(bào)告記事本程序院(系)計(jì)算機(jī)與信息工程學(xué)院專業(yè)軟件工程學(xué)生姓名楊旋顧瑩瑩楊燦芳學(xué)號(hào)130140461301400913014044指導(dǎo)教師許宋泉職稱講師論文子數(shù)15875完成日期:2015 年1月3 日巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告目錄第1章緒論21.1開發(fā)工具和開發(fā)環(huán)境21.1.1 Eclipse21.1.2 JDK(Java Developme nt Kit)21.2設(shè)計(jì)背景 .2第2章 設(shè)計(jì)與分析 22.1需求分析22.2功能模塊劃分錯(cuò)誤!未定義書簽。2.2.1菜單欄錯(cuò)誤!未定義書簽。2.2.2文本輸入?yún)^(qū) .錯(cuò)誤!

2、未定義書簽。2.2.3狀態(tài)欄32.2.4右鍵菜單32.3功能模塊流程圖3第 3章記事本程序設(shè)計(jì) 33.1概要設(shè)計(jì)43.1.1界面設(shè)計(jì)43.1.2功能設(shè)計(jì)43.1.3代碼設(shè)計(jì)43.2詳細(xì)代碼4第4章程序測試94.1打開程序94.2點(diǎn)擊菜單94.3輸入文字104.4點(diǎn)擊子菜單10第5章附錄115.1心得體會(huì)115.2參考文獻(xiàn)115.2源碼11第1章緒論1.1開發(fā)工具和開發(fā)環(huán)境1.1.1 EclipseEclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器

3、的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML Strut , JSP,CSS Javascript ,SQL, Hibernate 3。1.1.2 JDK(Java Developme nt Kit)JDK(Java Development Kit)是 Sun Microsystems 針對 Java 開發(fā)員的產(chǎn)品。自從 Java 推出 以來,JDK已經(jīng)成為使用最廣泛的 Java SDK JDK是整個(gè)Java的核心,包括了 Java運(yùn)行環(huán) 境,Java工具和Java基礎(chǔ)的類庫。JDK是學(xué)好Java的第一步。而專門

4、運(yùn)行在 x86平臺(tái)的 Jrocket在服務(wù)端運(yùn)行效率也要比 Sun JDK好很多。從SUN的JDK5.0開始,提供了泛型等非 常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。1.2設(shè)計(jì)背景“記事本”的功能雖然連“寫字板”都比不上,但它還是有它自己的獨(dú)門絕技的。下面我們就來看看記事本吧。相對于微軟的Word來說“記事本”的功能確實(shí)是太單薄了,只有:新建,保存,打印,查找,替換這幾個(gè)功能。但是“記事本”卻擁有一個(gè)Word不可能擁有的優(yōu)點(diǎn):打開 速度快,文件小。我相信對于這一點(diǎn)大家一定是深有感觸地,一點(diǎn)就打開; 同樣的文本文件用 Word保存和用記事本保存的文件大小就大不相同,所以對于大

5、小在64KB以下的純文本的保存最好還是采用記事本。記事本另一項(xiàng)不可取代的功能是:可以保存無格式文件。你可以把記事本編輯的文件保存為:“.html ”,“.java ”,“.asp ”等等任意格式。這使得“記事本”又找到了一個(gè)新的用途:作為程序語言的編輯器。翻開任何一本介 紹一門編程語言的入門教材,里面都會(huì)建議學(xué)生在記事本中編寫源程序。在此我們利用Java的文件輸入輸入流來實(shí)現(xiàn)簡單的記事本小程序。第2章分析與設(shè)計(jì)2.1需求分析現(xiàn)在網(wǎng)絡(luò)上各種文檔編輯器數(shù)不勝數(shù),有 EmEditor , UEStudio , GridinSoft Notepad , Notepad+,win32pad , Skim

6、Edit , UniRed,xint。功能也是應(yīng)有盡有,有能改變字體的,有能改變文字顏色的。但是,這些軟件又存在各種各樣的瑕疵或 問題:有的文件體積相對于一般文字編輯來說太大;有的功能太繁雜,使初級(jí)使用者一時(shí)難以掌握。僅從日常應(yīng)用方面來說,一個(gè)文本編輯器只需一些簡單實(shí)用的功能就夠了。本程序設(shè)計(jì)就是依照這樣一種使用需要設(shè)計(jì)了一個(gè)簡單的記事本程序。2.2功能模塊分析2.2.1菜單欄(1) 菜單中有“文件”,“編輯”,“設(shè)置”,“關(guān)于”四個(gè)主菜單。(2)“文件”有“打開” “保存” “退出”三個(gè)子菜單:分別用于打開文件,保存文 件,退出記事本。(3)“編輯”中有“撤銷”,“恢復(fù)”,“剪切” “復(fù)制”

7、 “粘貼” “剪貼”,“刪除”六 個(gè)子菜單:用于剪切文字,復(fù)制文字,粘貼文字等一系列操作。(4)“設(shè)置”中有“自動(dòng)換行”,“字體顏色”,“恢復(fù)設(shè)置”三個(gè)子菜單,分別用于 設(shè)置是否自動(dòng)換行,字體顏色等。(5)“關(guān)于”菜單中有關(guān)于記事本程序的制作日期,作者等信息2.2.2文本輸入?yún)^(qū)用到了“ JTextArea ”,給用戶輸入文字2.2.3狀態(tài)欄此欄主要功能是顯示出字符總長、總行數(shù)、當(dāng)前行、當(dāng)前列。2.2.4右鍵菜單此部分為用戶設(shè)計(jì)右鍵操作,方便用戶進(jìn)行一系列的編輯操作,增強(qiáng)本記事本的用戶體驗(yàn)性能。2.3功能模塊流程圖第3章記事本程序設(shè)計(jì)3.1概要設(shè)計(jì)設(shè)計(jì)兩個(gè)類,一個(gè) Notepad類繼承JFram

8、e類,然后在Notepad類中添加文件打開,新 建,保存等方法,就可以直接在編譯器中運(yùn)行程序。2.1.1 :界面設(shè)計(jì)在主界面中設(shè)計(jì)一個(gè)新建對象Notepad,由Notepad繼續(xù)自JFrame,故得到 Notepad容器,并在其中加入一個(gè)下拉菜單和一個(gè)文本域控件,把該容器設(shè)置為 GridLayout(2,1) 布局。3.1.2:功能設(shè)計(jì)在下拉菜單中加入子菜單并進(jìn)行監(jiān)聽,分別實(shí)現(xiàn)對文件的操作功能。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同界面。3.1.3 :代碼設(shè)計(jì)編寫每個(gè)控件的相關(guān)代碼,并進(jìn)行調(diào)試。3.2詳細(xì)代碼3.2.1 :界面設(shè)計(jì)創(chuàng)建一個(gè)下拉菜單和文本域,在文本域中顯示編輯的文件信息。JMenu file

9、Menu= new JMenu("文件(F)");JMenultem newltem= new JMenultem("新建”);JMenultem openltem= new JMenultem("打開.");JMenultem saveltem= new JMenultem(” 另存為.");JMenultem copyltem= new JMenultem(” 復(fù)制");JMenultem tieltem=new JMenultem(” 粘貼");JMenultem aboutltem= new JMenult

10、em(” 關(guān)于程序");JMenultem exitltem=new JMenultem(” 退出");JMenu formatMenu= new JMenu(” 設(shè)置(S)");String colors=" 黑色","藍(lán)色","紅色","綠色","粉色","桔黃色"JMenu colorMenu= new JMenu("顏色");JMenu sizeMenu= new JMenu(” 大小 ”);String size=&

11、quot;10","16","24","36"String fontNames=" 幼圓","微軟雅黑","隸書","楷體_GB2312","華文新魏" JMenu fontMenu= new JMenu("字體");String styleNames=" 加黑","斜體"JMenu FindMenu = new JMenu("查找(T)");Fi

12、ndMenu.setMnemonic( 'T');JMenultem searchMenu =new JMenultem("查找”);JMenultem replaceMenu =new JMenultem("替換");JMenu lookMenu= new JMenu("查看(L)" ); / 設(shè)置菜單項(xiàng)JMenultem tailtem=new JMenultem("狀態(tài)欄”);JMenu helpMenu=newJMenu("幫助(H)" ); / 設(shè)置菜單項(xiàng)JMenultem helplte

13、m= new JMenultem("幫助主題”); helpMe nu .add(helpltem);helpMenu.addSeparator();/ 設(shè)置分割線JMenultem about1ltem= new JMenultem("關(guān)于記事本.");5/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告6/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告界面如下:3.2.2功能設(shè)計(jì)打開窗口事件 Ope nHan der:7/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告class OpenHandler implements ActionListenerpublic void actio

14、nPerformed(ActionEvent e)JFileChooser jc= new JFileChooser();int rVal=jc.showOpenDialog(C3. this ); / 顯示打開文件的對話框 if (rVal=JFileChooser. APPROVE_OPTIONFile dir=jc.getCurre ntDirectory();File file=jc.getSelectedFile();filenameTf .setText(file.getName();dirTf .setText(dir.toString();/在文本域內(nèi)顯示文本文件內(nèi)容conte

15、ntTa .setText(read( new File(dir,file.getName();if (rVal=JFileChooser.CANCEL_OPTI)ONfilenameTf .setText("你取消了當(dāng)前選擇!”);dirTf .setText("");打開時(shí)讀取文字事件:private String read(File file)/ 打開時(shí)的讀取try BufferedReader reader= new BufferedReader(new In putStreamReader( new File In putStream(file), &q

16、uot;GBK");String data= null ;Stri ngBuffer buffer=new Stri ngBuffer();while (data=reader.readLine()!=null )buffer.append(data+"n");reader.close();retur n buffer.toStri ng();catch (IOException e)throw new Run timeExceptio n(e);保存事件SaveHandler :class SaveHandler implements ActionListene

17、r/保存public void actionPerformed(ActionEvent e)JFileChooser jc=new JFileChooser();int rVal=jc.showSaveDialog(C3. this ); / 顯示保存文件的對話框 if (rVal=JFileChooser.APPROVE_OPT)pNFile dir=jc.getCurre ntDirectory();File file=jc.getSelectedFile();filenameTf .setText(file.getName();dirTf .setText(dir.toString();

18、write( new File(dir,file.getName(),contentTa .getText();if (rVal=JFileChooser. CANCEL_OPTIpNfilenameTf .setText("你取消了當(dāng)前選擇!”);dirTf .setText("");粘貼文件:9/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告10/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告tieItem.addActio nListe ner(new Actio nListe ner()/響應(yīng)粘貼事件#/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告str );public vo

19、id actionPerformed(ActionEvent event) contentTa .setText( contentTa .getText()+ );查找替換功能:public void showF in d()setTitle("查找");setSize(280,60);setVisible(true);public void showReplace()setTitle("查找替換");setSize(280,110);setVisible(true);private void fin d()String text=ta.getText(

20、);Stri ng str=tFi nd.getText();int en d=texten gth();int len=str.le ngth();int start=ta.getSelect ionEn d();if(start=e nd) start=0;for(;start<=e nd-le n; start+)if(text.substri ng(start,start+le n).equals(str)ta.setSelectio nStart(start);ta.setSelect ionEn d(start+le n);return;/若找不到待查字符串,則將光標(biāo)置于末尾

21、ta.setSelectio nStart(e nd);ta.setSelect ionEn d(e nd);public Button getBFind() return bFind;private void replace()Stri ng str=tReplace.getText();if(ta.getSelectedText().equals(tFi nd.getText()ta.replaceRa nge(str,ta.getSelect ion Start(),ta.getSelecti onEn d(); else fin d();11/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告第4

22、章程序測試13回岡4.1打開程序B糅麓的記爭木文件唱謖買童找E MiL)秸BMH4.2點(diǎn)擊菜單12/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告#/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告13/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告14/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告4.3輸入文字4.4點(diǎn)擊子菜單#/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告15/21巢湖學(xué)院2013屆本科程序設(shè)計(jì)報(bào)告第5章附錄5.1心得體會(huì)此次課程設(shè)計(jì)有我們寢室一起共同合作完成,花費(fèi)的時(shí)間整整兩天。在這期間我們共同協(xié)作,互幫互助取得了很好的效率,也為我們構(gòu)建和諧寢室,學(xué)習(xí)氣氛良好寢室做出了一 定的貢獻(xiàn)。在這期間我領(lǐng)略到了團(tuán)隊(duì)協(xié)作

23、的重要性,也看到了團(tuán)隊(duì)合作的高效率性。還有通過這次試驗(yàn)我學(xué)習(xí)到了其他室友的一些學(xué)習(xí)方法,比如追查API,如何在短時(shí)間內(nèi)學(xué)習(xí)一個(gè)自己不懂的東西那就是利用好所有的搜索引擎??傊舜握n程設(shè)計(jì)不僅在知識(shí)少我是長了見識(shí),在生活上我也長了見識(shí)。5.2參考文獻(xiàn)a. 黃曉東等編著Java課程設(shè)計(jì)案例精編(第二版)M.北京:中國水利水電出版社,2007b. 李興華 等編著Java開發(fā)實(shí)戰(zhàn)經(jīng)典Java開發(fā)實(shí)戰(zhàn)經(jīng)典北京:清華大學(xué)出版社,2009c. .李尊朝 蘇軍Java程序設(shè)計(jì)(第二版)圖形用戶界面設(shè)計(jì)、Swing組件中國鐵道出版社, 20075.3源碼package p1;import javax.swing.

24、*;import java.awt.*;import java.awt.event.*;import java.io.*;public class Notepad extends JFrame /* *記事本程序*/private static/定義菜單項(xiàng)final long serialVersionUID= 1L;private final Color colorValues =Color. BLACKColor. BLUEColor. REQColor. GREEColor. PINKColor. ORANGEprivateJRadioButtonMenultemcolorItems ,

25、 fonts , sizeItems ;private JCheckBoxMenultem styleItems ;private JLabel displayLabel ;private Butt on Group fon tGroup , colorGroup , sizeGroup ;/創(chuàng)建按鈕組對象,實(shí)現(xiàn) JRadioButton多選一功能 private int style /定義字體大小 int fonti =10;Font font ;/JRadioButton r1,r2,r3; /聲明按鈕對象Butt on Groupbg=new Butt on Group();/priva

26、te String str =new String(); II用來存放用戶當(dāng)前選擇的文本 /private JTextFieldfile nameTf =new JTextField(),dirTf =new JTextField();privateJPa neloptPa ne=new JPa nel();privateJPa neln avigetePa ne =new JPa nel();private JTextAreaconten tTa =new JTextArea(5,20);/public Notepad(Stri ng title)super (title);/設(shè)置字體大小/

27、 r仁new JRadioButton("10");r1.addActio nListe ner(new sizeHa ndler();/ optPa ne.add(r1); /加載按鈕到界面上r2=new JRadioButto n("16");r2.addActio nListe ner(new sizeHa ndler();/optPa ne.add(r2);/ r3=new JRadioButton("24");r3.addActio nListe ner(new sizeHa ndler();/ optPa ne.add(r

28、3);/ bg.add(r1); /加載按鈕到按鈕組/ bg.add( r2);/ bg.add( r3);/dirTf .setEditable( false );/ 設(shè)置為不可編輯filenameTf .setEditable( false );/ 設(shè)置為不可編輯navigetePane .setLayout( new GridLayout(2,1);navigetePane .add( filenameTf );/ 添力口navigetePane .add( dirTf );Container conten tPa ne=getC onten tPa ne();contentPane.a

29、dd( optPane ,BorderLayout. SOUTH contentPane.add( navigetePane ,BorderLayout.NORT)Hconten tPa ne.add(new JScrollPa ne(contentTa ),BorderLayout.CENTERsetSize(500,300);setVisible( true ); setDefaultCloseOperati on(JF rame.EXIT_ON_CLOS E/設(shè)置響應(yīng)關(guān)閉按鈕JMenu fileMenu= new JMenu(” 文件(F)");fileMenu.setMnem

30、onic('F' ); / 設(shè)置快捷鍵JMenultem newItem= new JMenultem("新建”); fileMe nu .add( newItem);n ewItem.addActio nListe ner(new ActionListener()/ 顯示消息對話框public void actionPerformed(ActionEvent event)contentTa .setText(""););/JMenultem openltem= new JMenultem("打開."); fileMe nu .

31、add(ope nltem);ope nltem.addAct ion Liste ner(n ewOpe nHan dler();JMenultem saveltem= new JMenultem("另存為."); fileMe nu .add(saveltem);fileMenu.addSeparator(); / 設(shè)置分割線 saveltem.addAct ion Liste ner(n ewSaveHa ndler();JMenultem copyltem= new JMenultem("復(fù)制”); copyltem.setMnemonic( C ); /

32、 設(shè)置快捷鍵 fileMe nu .add(copyltem);copyltem.addActio nListe ner(n ewActio nListe ner()public void acti on Performed(Act ionEvent eve nt)str =contentTa .getSelectedText(););/JMenultem tieltem=new JMenultem("粘貼”);fileMe nu.add(tieltem);tieltem.setMnemonic('V' ); / 設(shè)置快捷鍵fileMenu.addSeparator(

33、); / 設(shè)置分割線tieltem.addActio nListe ner(new Actio nListe ner()/響應(yīng)復(fù)制事件響應(yīng)粘貼事件);public void actionPerformed(ActionEvent event)contentTa .setText( contentTa .getText()+ str);/JMenultem aboutltem= new JMenultem("關(guān)于程序”);fileMe nu .add(aboutltem);aboutltem.addAct ion Liste ner(new ActionListener()/ 顯示消息

34、對話框public void acti on Performed(Act ionEvent eve nt)JOptionPane. showMessageDialogNotepad. this ,"這是(*A_A*)的記事本","About" ,JOptionPane. PLAIN_MESSAGE);JMenultem exitltem=new JMenultem("退出”);fileMe nu.add(exitltem);exitltem.addActionListener(/ 響應(yīng)退出事件new Actio nListe ner()publ

35、ic void acti on Performed(Act ionEvent eve nt)System. exit (0););JMe nuBar bar= new JMen uBar();setJMenuBar(bar);/ 在frame 中設(shè)置菜單條bar.add(fileMe nu);JMenu formatMenu= new JMenu("設(shè)置(S)");formatMenu.setMnemonic( 'S');String colors= "黑色”,”藍(lán)色”,”紅色”,”綠色”,”粉色”,”桔黃色" JMenu colorMe

36、nu= new JMenu("顏色”);JMenu sizeMenu= new JMenu("大小”);String size= "10","16","24","36" ;sizeltems =new JRadioButtonMenultemsize.length ;sizeGroup =new Butt on Group();/colorltems =new JRadioButtonMenultemcolors.length ;colorGroup =new Butt on Group();l

37、temHa ndler itemHa ndler=new ltemHa ndler();for (int count=0;count<colors.length ;count+)colorltems co un t=new JRadioButt onMen ultem(colorsco un t);colorMenu.add( colorItems count);colorGroup .add( colorItems count);colorItems co un t.addActi on Liste ner(itemHa ndler);colorItems 0.setSelected(

38、true );formatMe nu .add(colorMe nu);formatMenu.addSeparator();/ 設(shè)置分割線sizeItems =new JRadioButtonMenultemcolors.length ;sizeGroup =new Butt on Group();for (int count=0;count<size.length ;count+)sizeItems count=new JRadioButt onMen ultem(sizeco un t);sizeMenu.add( sizeItems count);sizeGroup .add( s

39、izeItems count);sizeItems count.addActionListener(itemHandler);formatMe nu.add(sizeMe nu);sizeItems 0.setSelected(true );formatMenu.addSeparator(); / 設(shè)置分割線String fontNames="幼圓",”微軟雅黑","隸書","楷體_GB2312","華文新魏"JMenu fontMenu= new JMenu("字體”);fonts =new

40、JRadioButtonMenultemfontNames.length ;fon tGroup =new Butt on Group();for (int count=0;count< fonts . length ;count+)fonts count= new JRadioButtonMenultem(fontNamescount);fontMenu.add( fonts count);fontGroup .add( fonts count);fonts count.addActionListener(itemHandler);fonts 0.setSelected(true );

41、fontMenu.addSeparator();/ 設(shè)置分割線String styleNames="加黑","斜體"styleltems =new JCheckBoxMenultemstyleNames.length ;StyleHa ndler styleHa ndler=new StyleHa ndler();for (int count=0;count<styleNames.length ;count+)styleitems co un t= new JCheckBoxMe nultem(styleNamesco un t); fontMen

42、u.add( styleitems count);styleitems co un t.additemListe ner(styleHa ndler);formatMe nu .add(fo ntMe nu);bar.add(formatMenu); / 添加到菜單項(xiàng)JMenu FindMenu =new JMenu("查找(T)");FindMenu.setMnemonic( T );JMenultem searchMenu =new JMenultem("查找”);JMenultem replaceMenu =new JMenultem("替換&qu

43、ot;);Fin dMe nu .add(searchMe nu);Fin dMe nu .add(replaceMe nu);searchMe nu .addAct ion Liste ner(new ActionListener()/ 顯示消息對話框public void action Performed(Acti onEvent eve nt) JFrame ss = new JFrame("查找");JLabel tt =new JLabel("查找”);JTextField txt = new JTextField();JButton but =new

44、JButt on("查找");ss.setLayout(null );ss.setLocati on (150,150);Dime nsi on dim =new Dime nsi on();dim.setSize(300, 100);tt.setBounds(10,20, 40, 20);txt.setBou nds(70,20,100,20);but.setBou nds(190,20,80,20);/顯示消息對話框but.addAct ion Liste ner(new Actio nListe ner() public void actio nPerformed(A

45、ctio nEvent event)JOptionPane. showMessageDialogNotepad. this"查找成功了 ",”查找",JOptionPane. PLAlN_MESSAGE );ss.add(but);ss.add(txt);ss.add(tt);ss.setSize(dim); ss.setVisible( true ););replaceMe nu.addActio nListe ner(new ActionListener()/ 顯示消息對話框public void action Performed(Acti onEvent e

46、ve nt)JFrame ss = new JFrame(”替換");JLabel tt = new JLabel("替換”);JTextField txt = new JTextField();JButton but =new JButt on("替換");ss.setLayout(null );ss.setLocati on (150,150);Dime nsi on dim =new Dime nsi on();dim.setSize(300, 100);tt.setBounds(10,20, 40, 20);txt.setBou nds(70,2

47、0,100,20); but.setBou nds(190,20,80,20);but.addAct ion Liste ner(new ActionListener()/ 顯示消息對話框public voidactio nPerformed(Actio nEvent event)JOptionPane. showMessageDialogNotepad. this ,"替換成功了 ",”替換",JOptionPane. PLAIN_MESSAGE);ss.add(but);ss.add(txt);ss.add(tt);ss.setSize(dim);ss.set

48、Visible( true ););bar.add(Fi ndMe nu);JMenu lookMenu= new JMenu(” 查看(L)" ); / 設(shè)置菜單項(xiàng)JMenultem tailtem= new JMenultem("狀態(tài)欄”);lookMe nu.add(tailtem);tailtem.addActio nListe ner(new ActionListener()/ 顯示消息對話框public void acti on Performed(Act ionEvent eve nt)JOptionPane. showMessageDialoqNotepad

49、. this ,"歡迎使用楊旋的記事本程序!",”狀態(tài)欄",JOptionPane. PLAIN_MESSAGE);bar.add(lookMe nu);JMenu helpMenu= new JMenu(” 幫助(H)" ); / 設(shè)置菜單項(xiàng)JMenultem helpltem= new JMenultem("幫助主題”);helpMe nu .add(helpltem);helpMenu.addSeparator();/ 設(shè)置分割線JMenultem about1ltem= new JMenultem("關(guān)于記事本.")

50、;helpMe nu .add(about1ltem);bar.add(helpMe nu);about1Item.addAct ion Liste ner(new ActionListener()/ 顯示消息對話框public void acti on Performed(Act ionEvent eve nt)JOptionPane. showMessageDialog(Notepad. this ,"1993083082536楊旋!",”關(guān)于記事本 ”,JOptionPane. PLAIN_MESSApE );getCo nte ntPa ne().setBackgr

51、ou nd(Color.WHITEsetSize(700,500);setVisible( true );setDefaultCloseOperatio n( JFrame.EXIT_ON_CLOS Epublic static void main (String args)new Notepad("楊旋的記事本”);class OpenHandler implements ActionListener/ 打開窗口事件public void actionPerformed(ActionEvent e)JFileChooser jc= new JFileChooser();int rV

52、al=jc.showOpenDialog(Notepad.this ); / 顯示打開文件的對話框if (rVal=JFileChooser.APPROVE_OPT)pNFile dir=jc.getCurre ntDirectory();File file=jc.getSelectedFile();filenameTf .setText(file.getName();dirTf .setText(dir.toString();/在文本域內(nèi)顯示文本文件內(nèi)容contentTa .setText(read( new File(dir,file.getName();if (rVal=JFileCho

53、oser.CANCEL_OPTI)ONfilenameTf .setText("你取消了當(dāng)前選擇! ”);dirTf .setText("");class SaveHandler implements ActionListener/保存public void actionPerformed(ActionEvent e)JFileChooser jc= new JFileChooser();int rVal=jc.showSaveDialog(Notepad. this ); / 顯示保存文件的對話框 if (rVal=JFileChooser.APPROVE_OPTJpNFile dir=jc.getCurre ntDirectory();File file=jc.getSelectedFile();filenameTf .setText(file.getName();dirTf .setText(dir.toString();write( new File(dir,file.getName(),contentTa .getText();if (rVal=JFileChooser.CANCEL_OPTI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論