版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
算法和數據結構課程設計匯報書信息科學和技術學院問題描述:【課題17】設計一個簡單文本編輯器,使其含有通常編輯器(如Notepad)含有功效。設計軟、硬件環(huán)境:系統(tǒng):Windows7內存:4Gcpu:corei3380M2.53Ghz運行環(huán)境:JDK1.6編譯軟件:eclipseADT(數據結構和算法)設計和功效模塊:Menumb=newMenuBar();Menum1=newMenu(“File”);NewOpenSavaExitSaveAs//新建、打開、保留、退出、另存為Menum2=newMenu(“Edit”);CutCopyPaste//剪切、復制、粘貼Menum3=newMenu(“Format”);Font//字體LowtoCaptital//小寫轉大寫CaptitaltoLow//大寫轉小寫Menum4=newMenu(“Help”);Help//版本信息正文宋體小四行間距固定值正文宋體小四行間距固定值22磅圖表中文本為宋體5號行間距固定值1試驗結果分析及收獲:經過這次課程設計讓我了解圖形界面開發(fā),收獲挺多附錄(源程序清單)packagedemo1;importjava.awt.*;importjava.awt.event.*;importjava.io.*;publicclasstest1{ privateintid_font;//字體 privatestaticStringtempString;//臨時字符串,用于存放需要復制粘貼字符串 staticStringfilename="";//文件名 /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub finalFramef=newFrame("記事本"); f.setSize(600,400); f.setLocation(100,100); //TextFieldtf=newTextField(20); //f.add(tf,"North"); finalTextAreatf=newTextArea(); f.add(tf); tf.setBackground(newColor(50,250,200)); f.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente) { System.exit(0); } }); MenuBarmb=newMenuBar(); Menum1=newMenu("文件"); Menum2=newMenu("編輯"); Menum3=newMenu("格式"); Menum4=newMenu("幫助");//////////////////////////////////////////////////////////// MenuItemmi1=newMenuItem("新建"); mi1.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ tf.replaceRange("",0,tf.getText().length()); StringstrFile="";//文件名清空 } });//////////////////////////////////////////////////////////// MenuItemmi2=newMenuItem("打開"); mi2.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){//注冊監(jiān)聽器 FileDialogd=newFileDialog(f,"openfile",FileDialog.LOAD);//創(chuàng)建文件對話框 //打開文件對話框 d.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEventee){ System.exit(0); } }); d.setVisible(true); Filef=newFile(d.getDirectory()+d.getFile());//建立新文件 Stringstrfile=d.getDirectory()+d.getFile();//得到文件名 charch[]=newchar[(int)f.length()];//用此文件長度建立一個字符數組 try//異常處理 { //讀出數據,并存入字符數組ch中 BufferedReaderbw=newBufferedReader(newFileReader(f)); bw.read(ch); bw.close(); } catch(FileNotFoundExceptionfe){ System.out.println("filenotfound"); System.exit(0); } catch(IOExceptionie){ System.out.println("IOerror"); System.exit(0); } Strings=newString(ch); tf.setText(s); } } );////////////////////////////////////////////////////////////////////////////////// MenuItemmi3=newMenuItem("保留"); mi3.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente){ if(filename.equals("")){ //假如文件沒有被保留過,即文件名為空 FileDialogd=newFileDialog(f,"savefile",FileDialog.SAVE); //保留文件對話框 d.addWindowListener(newWindowAdapter(){//關閉文件對話框窗口 publicvoidwindowClosing(WindowEventee){ System.exit(0); } }); d.setVisible(true); Strings=tf.getText();//得到所輸入文本內容 try//異常處理 { Filef=newFile(d.getDirectory()+d.getFile());//新建文件 Stringstrfile=d.getDirectory()+d.getFile();//得到文件名 BufferedWriterbw=newBufferedWriter(newFileWriter(f)); //輸入到文件中 bw.write(s,0,s.length()); bw.close(); } catch(FileNotFoundExceptionfe_){ System.out.println("filenotfound"); System.exit(0); } catch(IOExceptionie_) { System.out.println("IOerror"); System.exit(0); } } else//假如文件已經保留過 { Strings=tf.getText();//得到所輸入文本內容 try//異常處理 {/*filename*/ Filef=newFile(filename);//新建文件 BufferedWriterbw=newBufferedWriter(newFileWriter(f)); //輸入到文件中 bw.write(s,0,s.length()); bw.close(); } catch(FileNotFoundExceptionfe_){ System.out.println("filenotfound"); System.exit(0); } catch(IOExceptionie_) { System.out.println("IOerror"); System.exit(0); } } } });///////////////////////////////////////////////////////////////////////////////// MenuItemmi4=newMenuItem("退出"); mi4.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente){ System.exit(0); } });/////////////////////////////////////////////////////////////////////////////// MenuItemmi5=newMenuItem("剪切"); mi5.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ tempString=tf.getSelectedText(); //得到要復制內容,暫存在tempString中 StringBuffertmp=newStringBuffer(tf.getText()); //臨時存放文本 intstart=tf.getSelectionStart(); //得到要刪除字符串起始位置 intlen=tf.getSelectedText().length(); //得到要刪除字符串長度 tmp.delete(start,start+len);//刪除所選字符串 tf.setText(tmp.toString());//用新文本設置原文本 } });//////////////////////////////////////////////////////////////////////////////// MenuItemmi6=newMenuItem("復制"); mi6.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ tempString=tf.getSelectedText(); //得到要復制內容,暫存在tempString中 } });//////////////////////////////////////////////////////////////////////////////// MenuItemmi7=newMenuItem("粘貼"); mi7.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ StringBuffertmp=newStringBuffer(tf.getText());//臨時存放文本 intstart=tf.getSelectionStart();//得到要粘貼位置 tmp.insert(start,tempString); tf.setText(tmp.toString());//用新文本設置原文本 } });///////////////////////////////////////////////////////////////////////////////// MenuItemmi8=newMenuItem("字體"); mi8.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ finalDialogd=newDialog(f,"Font");//新建對話框 d.setLocation(250,250);//起始位置 d.setLayout(newBorderLayout());//表格布局 /////////////上部分面板 Labell_font=newLabel("font");//font標簽 Panelp_1=newPanel(); p_1.add(l_font); p_1.setVisible(true); //中部面板 Listfont_list=newList(6,false);//字體列表 //添加字體項目 font_list.add("Plain");//一般字體 font_list.add("Bold");//粗體 font_list.add("Italic");//斜體 //font_list.addItemListener(new());// Panelp_2=newPanel(); p_2.add(font_list); p_2.setVisible(true); //////////下面部分面板 Buttonok=newButton("ok"); ok.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ d.dispose(); } }); ok.setSize(newDimension(20,5)); Panelp_3=newPanel();//下部分面板 p_3.setVisible(true); //添加三個面板 d.add(p_1,BorderLayout.NORTH); d.add(p_2,BorderLayout.CENTER); d.add(p_3,BorderLayout.SOUTH); d.pack(); d.addWindowListener(newWindowAdapter(){ //關閉對話框窗口 publicvoidwindowClosing(WindowEventee){ d.dispose(); } }); d.setVisible(true); } });//////////////////////////////////////////////////////////////////////////////////////////////// MenuItemmi9=newMenuItem("小寫轉換大寫"); mi9.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ Strings=tf.getText();//得到所輸入文本內容 StringBuffertemp=newStringBuffer(""); for(inti=0;i<s.length();i++){ if((int)s.charAt(i)>=97&&(int)s.charAt(i)<=122){ temp.append((char)((int)s.charAt(i)-32)); } else temp.append(s.charAt(i)); } s=newString(temp); tf.setText(s); } });////////////////////////////////////////////////////////////////////////////// MenuItemmi10=newMenuItem("大寫轉換小寫"); mi10.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ Strings=tf.getText();//得到所輸入文本內容 StringBuffertemp=newStringBuffer(""); for(inti=0;i<s.length();i++){ if((int)s.charAt(i)>=65&&(int)s.charAt(i)<=90){ temp.append((char)((int)s.charAt(i)+32)); } else temp.append(s.charAt(i)); } s=newString(temp); tf.setText(s); } });///////////////////////////////////////////////////////////////////////////// MenuItemmi11=newMenuItem("幫助"); mi11.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ finalDialogd=newDialog(f,"AboutNotpad");//新建對話框 TextAreat=newTextArea("\n歡迎使用記事本"+"\n\n"+"Copyright@dongxiuyun"+"\n\n"+"freesoftware"+"\n\n"+"版本@0.1");//添加標簽 t.setSize(newDimension(5,5)); t.setEditable(false); d.setResizable(false);//不可改變大小 d.add(t); d.pack(); d.addWindowListener(newWindowAdapter(){ //關閉對話框窗口 publicvoidwindowClosing(WindowEventee){ d.dispose(); } }); d.setLocation(100,250); d.setVisible(true); } });//////////////////////////////////////////////////////////////////////////////////////// MenuItemmi12=newMenuItem("另存為"); mi12.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ FileDialogd=newFileDialog(f,"savefile",FileDialog.SAVE);//保留文件對話框 d.addWindowListener(newWindowAdapter(){//關閉文件對話框窗口 publicvoidwindowClosing(WindowEventee){ System.exit(0); } }); d.setVisible(true); Strings=tf.getText();//得到所輸入文本內容 try//異常處理 { Filef=newFile(d.getDirectory()+d.getFile());//新建文件 BufferedWriterbw=newBufferedWriter(newFileWriter(f));//輸入到文件中 bw.write(s,0,s.length()); bw.close(); } catch(FileNotFoundExceptionfe_){ System.out.println("filenotfound"); System.exit(0); } cat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024幼兒園教育集團股權收購與教育產業(yè)發(fā)展合作協(xié)議3篇
- 2024年酒吧經營權承接合同
- 2024年集裝箱搬運吊裝合同6篇
- 2024年高端電子產品研發(fā)與銷售合同
- 2024年跨國技術授權與關鍵設備進口合同樣本版B版
- 2024年適用出租車租賃承包協(xié)議版
- 2024年跨區(qū)域醫(yī)療機構雙向轉診服務合作協(xié)議3篇
- 2024年軟件開發(fā)合同-軟件公司為客戶定制開發(fā)軟件
- 2025年度智能溫室大棚控制系統(tǒng)集成合同3篇
- 第16課-三國鼎立-作業(yè)課件-2020-2021學年部編版歷史與社會七年級上冊
- 幼兒園食堂管理規(guī)范(適用于政府和社會力量舉辦的幼兒園食堂)
- 公司金融ppt課件(完整版)
- 徐州醫(yī)科大學附屬醫(yī)院
- 自動化立體庫貨架驗收報告
- 消防系統(tǒng)工程質量控制資料檢查記錄
- 中藥封包療法操作規(guī)范
- 浙江產業(yè)帶分布情況
- 道岔主要幾何尺寸表
- 柳宗元毛筆楷書字帖
- 纖力玻璃鋼管道厚度,重量一覽表
- 新浪網刪貼申請文檔 (個人)
評論
0/150
提交評論