版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄前言2正文21.1 課程設(shè)計(jì)的教學(xué)目的和任務(wù)21.2 課程設(shè)計(jì)的主要內(nèi)容22.1.問(wèn)題描述及基本要求22.2. 記事本基本功能22.3使用的java主要的類(lèi)22.4 java類(lèi)的主要方法32.5 程序流程圖42.6 運(yùn)行界面42.6 小結(jié)6參考文獻(xiàn):7附 錄:8前言隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)已經(jīng)成為我們工作學(xué)習(xí)和生活中不可缺少的工具。文本編輯器是個(gè)人計(jì)算機(jī)最司空見(jiàn)慣的應(yīng)用程序了,在學(xué)習(xí)了Java語(yǔ)言之后,我決定使用Java語(yǔ)言編寫(xiě)記事本,具有基本的文字編輯功能。記事本是Windows 操作系統(tǒng)中常見(jiàn)自帶的一款用于創(chuàng)建和編輯文本文件的附件工具,用戶可以在其中方便地輸入文字,從而進(jìn)行編輯與
2、操作。由于記事本操作簡(jiǎn)單、小巧靈活。因此非常適合用戶在進(jìn)行一些簡(jiǎn)單的文字處理時(shí)使用。我們?cè)谌粘5纳钪蟹浅F毡榈厝ナ褂糜浭卤?,但是卻很少去研究它的具體功能,更不會(huì)去考慮它的具體實(shí)現(xiàn)。 經(jīng)過(guò)一個(gè)學(xué)期的學(xué)習(xí),我學(xué)習(xí)了Java這門(mén)面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言, 對(duì)于面向?qū)ο蟮母拍钣辛诉M(jìn)一步的了解,這個(gè)學(xué)期的java課程也有很多機(jī)會(huì)遇到實(shí)際的課題和項(xiàng)目,特別是課后練習(xí)實(shí)驗(yàn)和上機(jī)的一些基本題目,這對(duì)于鞏固所學(xué)的理論知識(shí)有很大的幫助。特別是在學(xué)完理論的Java課程之后,進(jìn)行這樣一個(gè)課題設(shè)計(jì),可以把整本書(shū)的知識(shí)進(jìn)行融會(huì)貫通,更進(jìn)一步地提高了我們的處理實(shí)際編程問(wèn)題的能力。最后決定做一個(gè)簡(jiǎn)易記事本程序并實(shí)現(xiàn)其中部分的
3、功能。摘要:該程序是一個(gè)記事本,具有良好的界面,使用人員能快捷簡(jiǎn)單地進(jìn)行操作。關(guān)鍵字:java、記事本、方法、事件。正文1.1 課程設(shè)計(jì)的教學(xué)目的和任務(wù)(1) 使學(xué)生進(jìn)一步理解和掌握所學(xué)的各種基本抽象數(shù)據(jù)類(lèi)型的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和操作實(shí)現(xiàn)算法,以及它們?cè)诔绦蛑械氖褂梅椒ā?2) 使學(xué)生初步掌握軟件開(kāi)發(fā)過(guò)程的問(wèn)題分析、設(shè)計(jì)、編碼、測(cè)試等基本方法和基本技能。(3) 使學(xué)生掌握使用各種計(jì)算機(jī)資料和有關(guān)參考資料,提高學(xué)生進(jìn)行程序設(shè)計(jì)的基本能力。(4) 使學(xué)生能用系統(tǒng)的觀點(diǎn)和軟件開(kāi)發(fā)一般規(guī)范進(jìn)行軟件開(kāi)發(fā),培養(yǎng)軟件工作者所應(yīng)具備的科學(xué)的工作方法和作風(fēng)。1.2 課程設(shè)計(jì)的主要內(nèi)容(1) 問(wèn)題分析和任務(wù)定義。
4、根據(jù)題目的要求,充分地分析和理解問(wèn)題,明確問(wèn)題要求做什么?限制條件是什么?最終完成什么?(2) 邏輯設(shè)計(jì)。對(duì)問(wèn)題描述中涉及的操作對(duì)象定義相應(yīng)的數(shù)據(jù)類(lèi)型,并按照以數(shù)據(jù)結(jié)構(gòu)為中心的原則劃分模塊,定義主程序模塊和各抽象數(shù)據(jù)類(lèi)型。邏輯設(shè)計(jì)的結(jié)果應(yīng)寫(xiě)出每個(gè)抽象數(shù)據(jù)類(lèi)型的定義(包括數(shù)據(jù)結(jié)構(gòu)的描述和每個(gè)基本操作的功能說(shuō)明),各個(gè)主要模塊的算法,并畫(huà)出模塊之間的調(diào)用關(guān)系圖。(3) 物理設(shè)計(jì)。定義相應(yīng)的存儲(chǔ)結(jié)構(gòu)并寫(xiě)出各函數(shù)的偽代碼算法。在這個(gè)過(guò)程中,要綜合考慮系統(tǒng)功能,使得系統(tǒng)結(jié)構(gòu)清晰、合理、簡(jiǎn)單和易于調(diào)試,抽象數(shù)據(jù)類(lèi)型的實(shí)現(xiàn)盡可能做到數(shù)據(jù)封裝,基本操作的規(guī)格說(shuō)明盡可能明確具體。詳細(xì)設(shè)計(jì)的結(jié)果是對(duì)數(shù)據(jù)結(jié)構(gòu)和基本
5、操作作出進(jìn)一步的求精,寫(xiě)出數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的類(lèi)型定義,寫(xiě)出函數(shù)形式的算法框架。(4)程序編碼。把詳細(xì)設(shè)計(jì)的結(jié)果進(jìn)一步求精為程序設(shè)計(jì)語(yǔ)言程序。同時(shí)加入一些注解和斷言,使程序中邏輯概念清楚,并編寫(xiě)程序。(5) 程序調(diào)試與測(cè)試。采用自底向上,分模塊進(jìn)行,即先調(diào)試低層函數(shù)。能夠熟練掌握調(diào)試工具的各種功能,設(shè)計(jì)測(cè)試數(shù)據(jù)確定疑點(diǎn),通過(guò)修改程序來(lái)證實(shí)它或繞過(guò)它。調(diào)試正確后,認(rèn)真整理源程序及其注釋?zhuān)纬筛袷胶惋L(fēng)格良好的源程序清單和結(jié)果。(6) 結(jié)果分析。程序運(yùn)行結(jié)果包括正確的輸入及其輸出結(jié)果,調(diào)試程序,檢查運(yùn)行結(jié)果,并且測(cè)試其程序的功能,檢查是否可以完成題目要求。(7) 撰寫(xiě)課程設(shè)計(jì)報(bào)告。此系統(tǒng)是基于Micros
6、oft Window7操作系統(tǒng)平臺(tái)的java應(yīng)用程序。具體開(kāi)發(fā)環(huán)境為JDK 1.6版本和Eclipse SDK java應(yīng)用程序開(kāi)發(fā)工具。2.1.問(wèn)題描述及基本要求在開(kāi)發(fā)環(huán)境為JDK 1.6版本下,利用Eclipse SDK java應(yīng)用程序開(kāi)發(fā)工具設(shè)計(jì)一個(gè)簡(jiǎn)單記事本程序。要求具有基本的編輯功能和其它的一些功能,顯示簡(jiǎn)單記事本文本框,可以進(jìn)行簡(jiǎn)單文字的編輯及輸入保存,并且編輯完畢之后可以進(jìn)行保存,以TXT格式選擇保存路徑,從而完成保存功能,將文件保存到計(jì)算機(jī)中。具有記事本的基本操作功能,可以打開(kāi)文件文本,在計(jì)算機(jī)中查找資源并且打開(kāi)編輯,方便用戶的使用。2.2. 記事本基本功能功能 1:具有一個(gè)
7、文本框,能進(jìn)行基本的文字編輯功能,并能打開(kāi)和保存txt文檔; 功能2:具有窗口的基本功能,如按下關(guān)閉鍵程序?qū)㈥P(guān)閉;菜單欄具有以下功能:打開(kāi):可以通過(guò)搜索路徑打開(kāi)一個(gè)已經(jīng)存在的、某一個(gè)路徑下的txt格式的文本文檔。 保存:在記事本文本區(qū)域?qū)懭胍欢ǖ奈臋n要關(guān)閉前可以對(duì)其進(jìn)行保存,保存時(shí)需要文件名和目錄進(jìn)行設(shè)置。 退出:在關(guān)閉窗口的同時(shí),關(guān)閉運(yùn)行程序并退出記事本程序2.3使用的java主要的類(lèi)Java程序中所使用的主要類(lèi)為及其作用如下:類(lèi)名: MyNoteBook作用:創(chuàng)建一個(gè)窗口。繼承的父類(lèi): JFrame實(shí)現(xiàn)的接口: ActionListenerpublic class MyNoteBook e
8、xtends Frame implements ActionListener 創(chuàng)建一個(gè)圖形用戶界面窗口static TextArea txa創(chuàng)建一個(gè)文本區(qū)static WinLis wlis創(chuàng)建一個(gè)窗口事件對(duì)象BorderLayout br創(chuàng)建一個(gè)邊框布局2.4 java類(lèi)的主要方法文件的菜單下有“打開(kāi)”和“保存”的菜單項(xiàng)目,而我們選擇時(shí)彈出的對(duì)話框就是文件對(duì)話框,創(chuàng)建一個(gè)菜單欄static MyNoteBook,菜單欄下設(shè)置菜單組件static MenuBar menuba,創(chuàng)建菜單的所有項(xiàng)static MenuItem item,創(chuàng)建一個(gè)文本區(qū)static TextArea txa,創(chuàng)建一
9、個(gè)窗口事件對(duì)象static WinLis wlis,創(chuàng)建一個(gè)邊框布局BorderLayout br,設(shè)置標(biāo)題frm.setTitle"簡(jiǎn)單記事本",所設(shè)計(jì)的程序中所使用的java類(lèi)的主要方法如下:static MyNoteBook frm = new MyNoteBook (); 創(chuàng)建一個(gè)菜單欄static MenuBar menubar = new MenuBar();創(chuàng)建一個(gè)下拉式菜單組件"文件"static Menu menu1 = new Menu("文件");創(chuàng)建一個(gè)下拉式菜單組件"幫助"static M
10、enu menu2 = new Menu("幫助");創(chuàng)建一個(gè)菜單的所有項(xiàng)"打開(kāi)"static MenuItem item1 = new MenuItem("打開(kāi)");創(chuàng)建一個(gè)菜單的所有項(xiàng)"保存"static MenuItem item2 = new MenuItem("保存");創(chuàng)建一個(gè)菜單的所有項(xiàng)"關(guān)于記事本"static MenuItem item3 = new MenuItem("關(guān)于記事本");創(chuàng)建一個(gè)文本區(qū)static TextArea txa
11、 = new TextArea();創(chuàng)建一個(gè)窗口事件對(duì)象static WinLis wlis = new WinLis();public static void main(String agrs) 創(chuàng)建一個(gè)邊框布局BorderLayout br = new BorderLayout();設(shè)置Frame的titlefrm.setTitle("簡(jiǎn)單記事本");將下拉式菜單menu1、menu2添加到菜單欄中menubar.add(menu1);menubar.add(menu2);將菜單item1、item2添加到下拉式菜單menu1中,將菜單item3添加到下拉式菜單menu
12、2中menu1.add(item1);menu1.add(item2);menu2.add(item3);將文本區(qū)txa添加到Frame中frm.add(txa);將此窗體的菜單欄設(shè)置為指定的menubar菜單欄。frm.setMenuBar(menubar);調(diào)整Frame組件的大小寬800高650frm.setSize(800, 650);顯示組件frm.setVisible(true);為組件添加窗口事件frm.addWindowListener(wlis);frm.addWindowListener(wlis); 2.5 程序流程圖 設(shè)計(jì)的簡(jiǎn)單記事本具有文字編輯功能,打開(kāi)和保存功能。顯
13、示一個(gè)窗口,可以進(jìn)行基本的文字編輯功能,并能打開(kāi)和保存txt文檔;窗口下拉有兩個(gè)菜單欄,分別具有所有項(xiàng),文字編輯完畢后,文件下拉為打開(kāi)和保存功能,幫助下拉為關(guān)于記事本功能,按下關(guān)閉鍵程序?qū)㈥P(guān)閉;具體的操作流程如下圖所示:開(kāi)始用戶打開(kāi)界面在界面中輸入想要記錄的文字進(jìn)行編輯點(diǎn)擊“文件”按鈕下拉對(duì)文件進(jìn)行保存關(guān)閉窗口2.6 運(yùn)行界面將設(shè)計(jì)的程序在Eclipse java開(kāi)發(fā)工具下運(yùn)行,運(yùn)行界面如下圖1 所示,簡(jiǎn)單記事本界面如圖2所示,保存界面如圖3所示,打開(kāi)界面如圖4所示,將每個(gè)運(yùn)行步驟截圖如下所示,編寫(xiě)的程序是在系統(tǒng)基于Window7操作系統(tǒng)平臺(tái)的java應(yīng)用程序,具體開(kāi)發(fā)環(huán)境為JDK 1.6版本
14、和Eclipse SDK java應(yīng)用程序開(kāi)發(fā)工具,下圖是設(shè)計(jì)的記事本程序執(zhí)行不同的功能時(shí)的運(yùn)行界面截圖,圖1為在 Eclipse下運(yùn)行界面,圖2為 簡(jiǎn)單記事本界面,圖3 為文本編輯保存,圖4為 文件打開(kāi)界面。詳細(xì)步驟如下圖所示:圖1 Eclipse下運(yùn)行界面圖2 簡(jiǎn)單記事本界面圖3 文本編輯保存圖4 文件打開(kāi)界面2.6 小結(jié) 本次java課程設(shè)計(jì)綜合考察了我們對(duì)Java程序設(shè)計(jì)知識(shí)的掌握熟練程度和實(shí)際運(yùn)用能力。其間,涉及到了Java 中的絕大多數(shù)的知識(shí)點(diǎn),如Java圖形用戶界面設(shè)計(jì)、Java的異常處理機(jī)制、Java中的多線程程序設(shè)計(jì)、Java輸入輸出流等。要求我們能夠?qū)?shū)本上的理論知識(shí)運(yùn)用到
15、實(shí)踐當(dāng)中去,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,才能真正的掌握所學(xué)知識(shí)。通過(guò)這次課程設(shè)計(jì),進(jìn)一步鞏固和豐富了我所學(xué)過(guò)的知識(shí),同時(shí)也讓我更深層次的認(rèn)識(shí)了java及其功能的強(qiáng)大。完成這門(mén)課程設(shè)計(jì)也進(jìn)一步加強(qiáng)了我的動(dòng)手能力,及其思維能力,收獲了很多。在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我的實(shí)踐能力,讓我知道遇到一個(gè)問(wèn)題,如何去尋找思路,如何去解決問(wèn)題,最終完成整個(gè)事情。在設(shè)計(jì)過(guò)程中,與同學(xué)分工設(shè)計(jì),和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會(huì)了合作,學(xué)會(huì)了寬容,學(xué)會(huì)了理解,也學(xué)會(huì)了做人與處世。參考文獻(xiàn): 1 . 張勇.Jav
16、a程序設(shè)計(jì)與實(shí)踐教程.人民郵電出版社,2014 2 .張桂珠,劉麗,陳愛(ài)國(guó).Java面向?qū)ο蟪绦蛟O(shè)計(jì)(第2版).北京郵電大學(xué)出版社,2007 3 .畢廣吉.Java程序設(shè)計(jì)實(shí)例教程M.冶金工業(yè)出版社,2007 4 .王保羅.Java面向?qū)ο蟪绦蛟O(shè)計(jì)M.清華大學(xué)出版社,2003 5 .劉騰紅,孫細(xì)明.信息系統(tǒng)分析與設(shè)計(jì)M.科學(xué)出版社,2003 6 .林邦杰.徹底研究java.電子工業(yè)出版社,2002 7 .王薇.Java程序設(shè)計(jì)與實(shí)踐教程.華大學(xué)出社,2011 8 .Bruce Eckel 著,陳昊鵬 譯.Java編程思想(第4版)Think in java Java美,2007 9 .李剛.瘋
17、狂JAVA講義(第3版) .電子工業(yè)出版社,201410 .周志明.深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐.機(jī)械工業(yè)出版社,2011附 錄:import java.awt.*;import java.awt.event.*;import java.io.*;public class MyNoteBook extends Frame implements ActionListener static MyNoteBook frm = new MyNoteBook(); /創(chuàng)建一個(gè)菜單欄 static MenuBar menubar = new MenuBar(); /創(chuàng)建一個(gè)下拉式菜單組
18、件"文件" static Menu menu1 = new Menu("文件"); /創(chuàng)建一個(gè)下拉式菜單組件"幫助" static Menu menu2 = new Menu("幫助"); /創(chuàng)建一個(gè)菜單的所有項(xiàng)"打開(kāi)" static MenuItem item1 = new MenuItem("打開(kāi)"); /創(chuàng)建一個(gè)菜單的所有項(xiàng)"保存" static MenuItem item2 = new MenuItem("保存"); /創(chuàng)建一個(gè)
19、菜單的所有項(xiàng)"關(guān)于記事本" static MenuItem item3 = new MenuItem("關(guān)于記事本"); /FileDialog 類(lèi)顯示一個(gè)對(duì)話框窗口,用戶可以從中選擇文件。 static FileDialog dia1 = new FileDialog(frm, "打開(kāi)"); /FileDialog.SAVE此常量值指示文件對(duì)話框窗口的作用是查找要寫(xiě)入的文件。 static FileDialog dia2 = new FileDialog(frm, "保存", FileDialog.SAVE);
20、/創(chuàng)建一個(gè)文本區(qū) static TextArea txa = new TextArea(); /創(chuàng)建一個(gè)窗口事件對(duì)象 static WinLis wlis = new WinLis(); public static void main(String agrs) /創(chuàng)建一個(gè)邊框布局 BorderLayout br = new BorderLayout(); /設(shè)置Frame的title frm.setTitle("簡(jiǎn)單記事本");/*將下拉式菜單menu1、menu2添加到菜單欄中*/ menubar.add(menu1); menubar.add(menu2);/*將菜單i
21、tem1、item2添加到下拉式菜單menu1中,將菜單item3添加到下拉式菜單menu2中*/ menu1.add(item1); menu1.add(item2); menu2.add(item3);/*為item1、item2、item3添加指定的動(dòng)作偵聽(tīng)器,以從此菜單項(xiàng)接收動(dòng)作事件*/ item1.addActionListener(frm); item2.addActionListener(frm); item3.addActionListener(frm);/將文本區(qū)txa添加到Frame中 frm.add(txa); /將此窗體的菜單欄設(shè)置為指定的menubar菜單欄。 frm
22、.setMenuBar(menubar); /調(diào)整Frame組件的大小寬800高650 frm.setSize(800, 650); /顯示組件 frm.setVisible(true);/*為組件添加窗口事件*/ frm.addWindowListener(wlis); frm.addWindowListener(wlis); /*窗口事件的實(shí)現(xiàn),在關(guān)閉窗口的同時(shí)關(guān)閉運(yùn)行程序*/ static class WinLis extends WindowAdapter public void windowClosing(WindowEvent e) frm.dispose(); public void actionPerformed(ActionEvent e) /獲取當(dāng)前點(diǎn)擊的菜單對(duì)象,getSource()返回最初發(fā)生 Event 的對(duì)象。 MenuItem item = (MenuItem) e.getSource(); if (item = item1) dia1.setVisible(true);/*getDirectory()獲取dia1對(duì)話框的目錄,getFile()獲取dia1對(duì)話框的選定文件*/ String fname = dia1.getDirectory() + dia1.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)無(wú)水磷酸二氫鉀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)臺(tái)階銑刀片市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)三層密閉加熱冷卻保溫桶市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)銀制計(jì)時(shí)鐘行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)熱塑性高軟化點(diǎn)酚醛樹(shù)脂行業(yè)投資前景及策略咨詢研究報(bào)告
- 多模態(tài)超聲聯(lián)合超聲評(píng)分系統(tǒng)在原發(fā)性干燥綜合征涎腺病變中的診斷價(jià)值
- 2025年度個(gè)人獨(dú)家銷(xiāo)售代理合同(化妝品品牌專(zhuān)署代理權(quán))
- 個(gè)人廉潔自律合同標(biāo)準(zhǔn)版
- 2025年度存量房維修基金管理與使用合同模板4篇
- 2025年度個(gè)人對(duì)科技公司股權(quán)借款合同
- 勞務(wù)協(xié)議范本模板
- 2024年全國(guó)職業(yè)院校技能大賽高職組(生產(chǎn)事故應(yīng)急救援賽項(xiàng))考試題庫(kù)(含答案)
- 2025大巴車(chē)租車(chē)合同范文
- 老年上消化道出血急診診療專(zhuān)家共識(shí)2024
- 人教版(2024)數(shù)學(xué)七年級(jí)上冊(cè)期末測(cè)試卷(含答案)
- 2024年國(guó)家保密培訓(xùn)
- 2024年公務(wù)員職務(wù)任命書(shū)3篇
- CFM56-3發(fā)動(dòng)機(jī)構(gòu)造課件
- 會(huì)議讀書(shū)交流分享匯報(bào)課件-《殺死一只知更鳥(niǎo)》
- 2025屆撫州市高一上數(shù)學(xué)期末綜合測(cè)試試題含解析
- 公司印章管理登記使用臺(tái)賬表
評(píng)論
0/150
提交評(píng)論