java課程設(shè)計記事本只是分享_第1頁
java課程設(shè)計記事本只是分享_第2頁
java課程設(shè)計記事本只是分享_第3頁
java課程設(shè)計記事本只是分享_第4頁
java課程設(shè)計記事本只是分享_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除攀枝花學院課程設(shè)計題 目: 記事本程序設(shè)計院(系): 數(shù)學與計算機學院年級專業(yè):姓 名: 000000學 號:指導教師:二〇一三年十二月三十日攀枝花學院教務(wù)處制word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除攀枝花學院本科學生課程設(shè)計任務(wù)書題 目 記事本1、課程設(shè)計的目的通過本課程設(shè)計使學生能夠較全面的掌握面向?qū)ο蟪绦蛟O(shè)計的有關(guān)概念和開發(fā)方法,以便能較全面地理解、掌握和綜合運用所學的知識,提高自身的編程能力。2、課程設(shè)計的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)模擬Windows的記事本程序,編寫一個記事本。要求具備基本的編輯、復(fù)制、粘貼、剪切、保存文件等功能,界面美觀。3、主要參考文獻朱福喜.《Java語言程序設(shè)計》(第二版).科學出版社陳國君等.《Java程序設(shè)計基礎(chǔ)》(第二版).清華大學出版社Deitel.《Java大學基礎(chǔ)教程》(第六版).電子工業(yè)出版社MaryCampione.《Java語言導學》(第四版).機械工業(yè)出版社Y.DanielLiang.《Java語言程序設(shè)計基礎(chǔ)篇》(第六版).機械工業(yè)出版社KathySierra.《HeadFirstJava》(第二版).東南大學出版社4、課程設(shè)計工作進度計劃序號時間(天)內(nèi)容安備注11分析設(shè)計準備周一22編程調(diào)試階段周二至周三31編寫課程設(shè)計報告周四41考核周五總計5(天)指導教師(簽字)日期年月日教研室意見:年 月 日word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除學生(簽字):接受任務(wù)時間: 年 月 日注:任務(wù)書由指導教師填寫。課程設(shè)計(論文)指導教師成績評定表題目名稱評分項目工01學習態(tài)度作表02科學實踐、調(diào)研現(xiàn)03課題工作量20%04綜合運用知識的能力能05應(yīng)用文獻的能力力設(shè)計(實驗)能力,方案水06的設(shè)計能力平35%07計算及計算機應(yīng)用能力對計算或?qū)嶒灲Y(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟分析能力)插圖(或圖紙)質(zhì)量、篇成09幅、設(shè)計(論文)規(guī)范化果程度質(zhì)10設(shè)計說明書(論文)質(zhì)量量45%11創(chuàng)新

記事本分得值評價內(nèi)涵分6遵守各項紀律,工作刻苦努力,具有良好的科學工作態(tài)度。7通過實驗、試驗、查閱文獻、深入生產(chǎn)實踐等渠道獲取與課程設(shè)計有關(guān)的材料。7按期圓滿完成規(guī)定的任務(wù),工作量飽滿。能運用所學知識和技能去發(fā)現(xiàn)與解決實際問題,能正確處理實驗數(shù)據(jù),能對課題進行理論分析,得出有價值的結(jié)論。能獨立查閱相關(guān)文獻和從事其他調(diào)研;能提出并5較好地論述課題的實施方案;有收集、加工各種信息及獲取新知識的能力。能正確設(shè)計實驗方案,獨立進行裝置安裝、調(diào)試、5操作等實驗工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。具有較強的數(shù)據(jù)運算與處理能力;能運用計算機5進行資料搜集、加工、處理和輔助設(shè)計等。具有較強的數(shù)據(jù)收集、分析、處理、綜合的能力。符合本專業(yè)相關(guān)規(guī)范或規(guī)定要求;規(guī)范化符合本5文件第五條要求。綜述簡練完整,有見解;立論正確,論述充分,結(jié)論嚴謹合理;實驗正確,分析處理科學。對前人工作有改進或突破,或有獨特見解。成績word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除指導教師評語指導教師簽名: 年 月 日word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除摘 要目前,很多新的技術(shù)領(lǐng)域都涉及到了Java語言,Java語言是面向?qū)ο缶幊?,并涉及到網(wǎng)絡(luò)、多線程等重要的基礎(chǔ)知識,因此Java語言也是學習面向?qū)ο缶幊毯途W(wǎng)絡(luò)編程的首選語言。按照教學培養(yǎng)計劃要求,學生在學習完課本中指定課時的知識后,應(yīng)安排一定課時的課程設(shè)計。其主要目的是使學生深入理解并實踐在本課程中所學的有關(guān)JAVA程序設(shè)計方面的語言基礎(chǔ)、異常處理、事件處理、小應(yīng)用程序以及圖形用戶界面設(shè)計等。故此“記事本”應(yīng)運而生。該報告中的程序是簡易記事本。使用Java程序編寫,能夠進行輸入文字操作,并具有新建文件,打開文件,保存文件,退出,復(fù)制,粘貼,剪切等功能,不同之處是本程序能夠?qū)ξ淖值念伾M行設(shè)置。該程序主要用到了Javaswing和事件監(jiān)聽等。關(guān)鍵字: 記事本,Java,Javaswingword可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除目錄摘要................................................................1前言..............................................................12需求分析...........................................................22.1需求分析...............................................................22.2功能設(shè)計...............................................................23概要設(shè)計...........................................................33.1程序設(shè)計思路...........................................................33.2程序運行界面...........................................................33.3模塊說明圖.............................................................33.4程序流程圖.............................................................53.5程序相關(guān)說明...........................................................54程序詳細設(shè)計與分析.................................................64.1初始化組件.............................................................64.2.構(gòu)建菜單欄及其下拉菜單.................................................64.3“文件”菜單的事件監(jiān)聽.................................................74.4“編輯”菜單的事件監(jiān)聽.................................................75測試分析...........................................................9結(jié)論...............................................................11參考文獻............................................................12附錄................................................................13word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除1前言Java的前身是Oak,它一開始只是被應(yīng)用于消費性電子產(chǎn)品中。后來它的開發(fā)者們發(fā)現(xiàn)它還可以被用于更大范圍的 Internet 上。1995年,Java語言的名字從Oak編程了Java。1997年J2SE1.1發(fā)布。1998年J2SE1.2發(fā)布,標志Java2的誕生。十多年來,Java編程語言及平臺成功地運用在網(wǎng)絡(luò)計算及移動等各個領(lǐng)域。Java的體系結(jié)構(gòu)由Java語言、Javaclass、JavaAPI、Java虛擬機組成。它具有簡單、面向?qū)ο蟆⒔?、安全、結(jié)構(gòu)中立、可移植和高效能等眾多優(yōu)點。Java支持多線程編程,Java運行時系統(tǒng)在多線程同步方面具有成熟的解決方案。 Java的平臺標準有JavaME,JavaSE和JavaEE。Java發(fā)展到今天,它的卓越成就及在業(yè)界的地位毋庸置疑。目前在眾多的支持 Java的開發(fā)工具中主要的 7有JavaDevelopmentKit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse 等。其中JavaDevelopmentKit 簡稱JDK是大多開發(fā)工具的基礎(chǔ)。以上的每種開發(fā)工具都有優(yōu)缺點,對于開發(fā)者來說,重要的是要根據(jù)自己的開發(fā)規(guī)模、開發(fā)內(nèi)容和軟硬件環(huán)境等因素來選擇一種合適的開發(fā)工具。在本程序設(shè)計中,因為需要開發(fā)的是記事本程序,規(guī)模較小,內(nèi)容較少,所以選擇了適合初學者使用的 JCreator開發(fā)工具。word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除需求分析2.1需求分析現(xiàn)在網(wǎng)絡(luò)上各種文檔編輯器數(shù)不勝數(shù),有 EmEditor,UEStudio,GridinSoftNotepad,Notepad++,win32pad,SkimEdit,UniRed,xint 。功能也是應(yīng)有盡有,有能改變字體的,有能改變文字顏色的。但是,這些軟件又存在各種各樣的瑕疵或問題:有的文件體積相對于一般文字編輯來說太大;有的功能太繁雜,使初級使用者一時難以掌握。僅從日常應(yīng)用方面來說,一個文本編輯器只需一些簡單實用的功能就夠了。本程序設(shè)計就是依照這樣一種使用需要設(shè)計了一個簡單的記事本程序。2.2功能設(shè)計本程序要構(gòu)建的記事本程序參照了Windows操作系統(tǒng)的記事本工具,其功能有以下幾個方面:1)菜單中有“文件”,“編輯”,“關(guān)于”三個主菜單。2)“文件”有“新建”“打開”“保存”“退出”四個子菜單:分別用于新建文件,打開文件,保存文件,退出記事本。3)“編輯”中有“剪切”“復(fù)制”“粘貼”“顏色”三個字菜單:用于剪切文字,復(fù)制文字,粘貼文字。增加了“顏色”子菜單來對文字的顏色進行設(shè)置。4)“關(guān)于”菜單中有關(guān)于記事本程序的制作日期,作者等信息。word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除概要設(shè)計3.1程序設(shè)計思路在本程序中,設(shè)計了一個菜單欄和文本內(nèi)容區(qū)。設(shè)計過程中用到JScrollPaneJMenu,JTextPane,JFileChooser等。JMenu用來制作菜單,菜單包括“文件”“編輯”“關(guān)于”。JTextPane主要用來輸入文本。為了加入顏色的設(shè)置,所以加了一個JColorChooser組件。3.2程序運行界面圖3.1程序運行界面3.3模塊說明圖implements ActionListenermynotepadextends JFrameword可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除圖3.2模塊說明圖在圖3.2中,首先創(chuàng)建一個名為mynotepad的類并繼承JFrame類作為最底層的容器。mynotepad的構(gòu)造方法容器初始化 組件初始化 初始化菜單欄 文件關(guān)于 編輯關(guān) 剪 復(fù) 粘 顏于 切 制 貼 色圖3.3模塊說明圖

事件監(jiān)聽添加文字輸入?yún)^(qū)新建打開保存退出在圖3.3中,構(gòu)造一個 mynotepad類時要做三件事情,分別是初始化容器(initTextContent )、初始化組件( initMenu、initAboutDialog )、設(shè)置事件監(jiān)聽器。word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除3.4程序流程圖啟動程序輸入文字False False新 打 保 退 剪 復(fù) 粘 顏 關(guān)建 開 存 出 切 制 貼 色 于truetrue true truetruetruetruetruefile=nullabout.show()file=openfilecolorsavingcontent.pasteSystem.exit(0)content.copy()content.cut()關(guān)閉或退出程序圖3.4程序流程圖3.5程序相關(guān)說明整個記事本分為2塊:菜單欄和內(nèi)容輸入?yún)^(qū)。本程序中首先定義一個mynotepad類繼承JFrame作為最底層容器。1).Textcontent為程序文本輸入?yún)^(qū)。2).Menu為菜單欄。3).AboutDialog為關(guān)于對話框。4).要想記事本完成需求分析中相應(yīng)的功能,還必須添加事件監(jiān)聽器。事件監(jiān)聽器不僅要添加在菜單欄和內(nèi)容輸入?yún)^(qū),還需加在容器中。本程序中ActListenerword可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除實現(xiàn)了ActionListener接口,用來監(jiān)聽并處理所有菜單項和內(nèi)容輸入?yún)^(qū)為事件源的事件。程序詳細設(shè)計與分析4.1初始化組件initTextContent();initMenu();initAboutDialog();4.2.構(gòu)建菜單欄及其下拉菜單JMenu[]menus=newJMenu[]{newJMenu("文件"),newJMenu("編輯"),newJMenu("關(guān)于")};JMenuItemoptionofmenu[][]=newJMenuItem[][]{{newJMenuItem("新建"),newJMenuItem("打開"),newJMenuItem("保存"),newJMenuItem("退出")},{newJMenuItem("復(fù)制"),newJMenuItem("剪切"),newJMenuItem("粘貼"),newJMenuItem("顏色")},{word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除newJMenuItem("關(guān)于")}};4.3 “文件”菜單的事件監(jiān)聽ActionListeneraction=newActionListener(){publicvoidactionPerformed(ActionEvente){Stringname=e.getActionCommand();JMenuItemMI=(JMenuItem)e.getSource();if("新建".equals(name)){content.setText("");file=null;}elseif("打開".equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showOpenDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();unfold();}}elseif("保存".equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showSaveDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();saving();}}elseif("退出".equals(name)){mynotepadf=newmynotepad();ints=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION);4.4 “編輯”菜單的事件監(jiān)聽word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除elseif("剪切".equals(name)){content.cut();}elseif("復(fù)制".equals(name)){content.copy();}elseif("粘貼".equals(name)){content.paste();}elseif("顏色".equals(name)){color=JColorChooser.showDialog(mynotepad.this,"",color);content.setForeground(color);word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除5測試分析圖5.1:點擊“文件”運行情況word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除圖5.2:“文件”菜單中的“打開”對話框圖5.3:“編輯”中的“顏色”設(shè)置功能圖5.4:“關(guān)于”對話框調(diào)試結(jié)果完全符合課程設(shè)計要求!word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除結(jié)論經(jīng)過一個星期的我的記事本的課程設(shè)計,我在老師的指導下,基本上完成我的Java課程設(shè)計—簡單的記事本程序,也基本上實現(xiàn)了我在需求分析時所預(yù)期的功能。通過該課程設(shè)計,收獲頗多。首先,讓我加深了對Java語言的理論知識的理解;進一步鞏固和豐富了我所學過的知識,讓我更深層次地認識到Java及其強大的功能。同時,做這門課程設(shè)計也進一步加強了我的動手能力其次,讓我更加熟練的掌握了Java語言的設(shè)計能力并且有了實踐經(jīng)驗,在設(shè)計過程中,學到了老師沒有在課堂上沒有教授的知識,加強了我對Java語言的學習興趣和好感。word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除參考文獻朱福喜.《Java語言程序設(shè)計》(第二版).科學出版社陳國君等.《Java程序設(shè)計基礎(chǔ)》(第二版).清華大學出版社Deitel.《Java大學基礎(chǔ)教程》(第六版).電子工業(yè)出版社MaryCampione.《Java語言導學》(第四版).機械工業(yè)出版社Y.DanielLiang.《Java語言程序設(shè)計基礎(chǔ)篇》(第六版).機械工業(yè)出版社[6]KathySierra. 《HeadFirstJava 》(第二版).東南大學出版社word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除附錄源代碼:packagecom.wxp.Notepad;importjava.awt.*;@SuppressWarnings("serial")classmynotepadextendsJFrame{Filefile=null;Colorcolor=Color.red;mynotepad(){initTextContent(); //初始化組件initMenu();initAboutDialog();}voidinitTextContent(){getContentPane().add(newJScrollPane(content));滾//動面板對象}JTextPanecontent=newJTextPane();//創(chuàng)建/內(nèi)容輸入?yún)^(qū)JFileChooseropenfile=newJFileChooser();//創(chuàng)建打開文件對話框JColorChooseropencolor=newJColorChooser();//顏色選擇JDialogabout=newJDialog(this); //關(guān)于對話框JMenuBarmenu=newJMenuBar(); //創(chuàng)建菜單欄//菜單欄的各個菜單項JMenu[]menus=newJMenu[]{newJMenu("文件"),newJMenu("編輯"),newJMenu("關(guān)于")};//文“件”菜單項的四個下拉菜單JMenuItemoptionofmenu[][]=newJMenuItem[][]{{newJMenuItem("新建"),word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除newJMenuItem("打開"),newJMenuItem("保存"),newJMenuItem("退出")},//編輯菜單的四個下拉菜單{newJMenuItem("復(fù)制"),newJMenuItem("剪切"),newJMenuItem("粘貼"),newJMenuItem("顏色"),},{newJMenuItem("關(guān)于")}};voidinitMenu(){for(inti=0;i<menus.length;i++){menu.add(menus[i]);for(intj=0;j<optionofmenu[i].length;j++){menus[i].add(optionofmenu[i][j]);optionofmenu[i][j].addActionListener(action);}}this.setJMenuBar(menu);}ActionListeneraction=newActionListener(){ //添加事件監(jiān)聽@SuppressWarnings({"unused","deprecation"})publicvoidactionPerformed(ActionEvente){Stringname=e.getActionCommand();JMenuItemMI=(JMenuItem)e.getSource();if("新建".equals(name)){ //監(jiān)聽“新建”事件content.setText("");file=null;word可編輯資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除}elseif("打開".equals(name)){ //監(jiān)聽“打開”事件if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showOpenDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile(); //打開選擇文件unfold();}}elseif("保存".equals(name)){ //監(jiān)聽“保存”事件if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showSaveDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();saving();}}elseif("退出".equals(name)){mynotepadf=newmynotepad();ints=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION); //提示用戶是否退出if(s==JOptionPane.YES_OPTION)System.exit(0);}elseif("剪切".equals(name)){ //監(jiān)聽“剪切”事件content.cut();}elseif("復(fù)制".equals(name)){ //監(jiān)聽“復(fù)制”事件content.copy();}elseif("粘貼".equals(name)){ //監(jiān)聽“粘貼”事件content.paste();}elseif("顏色".equals(name)){ //監(jiān)聽“顏色”事件color=JColorChooser.showDialog(mynotepad.this,"",color);content.setForeground(color);//對顏色進行設(shè)置}elseif("關(guān)于".equals(name)){about.setSize(300,150);//設(shè)置“關(guān)于”對話框大小為300×150about.show(); //顯示“關(guān)于”對話框word可編輯//設(shè)置對話框顯示位置//設(shè)置對話框前端顯示資料收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系網(wǎng)站刪除}}};voidsaving(){try{FileWriterWritef=newFileWriter(file);//創(chuàng)建文件寫入器Writef.write(content.getText());Writef.close();}catch(Exceptione){e.printStackTrace();}}voidunfold(){try{FileReaderReadf=newFileReader(file);//文件讀入intlen=(int)file.length();char[]buffer=newchar[len];Readf.re

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論