版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 存檔資料 成績: </p><p> 課 程 設(shè) 計 報 告 書</p><p> 2007年 12 月 24 日 </p><p> 所屬課程名稱Java語言實用教程</p><p> 題 目我的記事本</p><p&
2、gt; 院 (系)電信分院</p><p> 班 級06電子商務(wù)(2)班</p><p> 學(xué) 號20060210460220</p><p> 學(xué)生姓名夏彪</p><p> 指導(dǎo)教師向華萍</p><p> 輔導(dǎo)教師向華萍</p><p> 課 程 設(shè) 計( 論 文 )任 務(wù) 書&
3、lt;/p><p> 學(xué)院 電信分院 專 業(yè) 班 級 2 </p><p> 一、課程設(shè)計(論文)題目 我的記事本 </p><p> 二、課程設(shè)計(論文)工作:自 2007年12月 24 日起至 2007年 12
4、月 30 日止。</p><p> 三、課程設(shè)計(論文)的內(nèi)容要求:</p><p> 1.本課程設(shè)計的目的</p><p> (1)掌握J(rèn)ava語言的程序設(shè)計方法; </p><p> ?。?)理論聯(lián)系實際,進(jìn)一步提高學(xué)生的軟件開發(fā)技術(shù);</p><p> ?。?)培養(yǎng)學(xué)生分析、解決問題的能力;</p&g
5、t;<p> (4)提高學(xué)生實踐論文撰寫能力。</p><p> 2.課程設(shè)計的任務(wù)及要求</p><p><b> 1)基本要求:</b></p><p> ?。?)熟悉JAVA開發(fā)環(huán)境,掌握J(rèn)AVA程序的編譯和運行;</p><p> (2)掌握J(rèn)AVA基本編程技術(shù)和方法;</p>
6、<p> ?。?)掌握GUI圖形界面編程技術(shù);</p><p> ?。?)了解異常處理機制。</p><p> 2)課程設(shè)計論文編寫要求</p><p> ?。?)理論設(shè)計部分以課程設(shè)計論文的形式提交,格式必須按照課程設(shè)計論文標(biāo)準(zhǔn)</p><p> 格式進(jìn)行書寫和裝訂。</p><p> ?。?)課程設(shè)
7、計報告(論文)包括目錄、設(shè)計目的、實現(xiàn)思路、實現(xiàn)步驟、設(shè)計心得</p><p><b> 參考文獻(xiàn)、附錄等;</b></p><p> 3)課程設(shè)計評分標(biāo)準(zhǔn): </p><p> ?。?)學(xué)習(xí)態(tài)度:10分;</p><p> ?。?)系統(tǒng)設(shè)計:20分;</p><p> ?。?)編程調(diào)試:20
8、分;</p><p> (4)回答問題:20分;</p><p> ?。?)論文撰寫:30分。</p><p><b> 4)參考文獻(xiàn):</b></p><p> ?。?)丁振凡主編. Java語言實用教程[M]. 北京郵電大學(xué)出版社. 2004.12 </p><p> ?。?)丁振凡主編
9、. Java語言實用教程實驗指導(dǎo)[M]. 北京郵電大學(xué)出版社. 2004.12</p><p> ?。?)http://cai.ecjtu.jx.cn</p><p> 5)課程設(shè)計進(jìn)度安排</p><p> 1.準(zhǔn)備階段(4學(xué)時):選擇設(shè)計題目、了解設(shè)計目的要求、查閱相關(guān)資料</p><p> 2.程序模塊設(shè)計分析階段(4學(xué)時):程
10、序總體設(shè)計、詳細(xì)設(shè)計</p><p> 3.代碼編寫調(diào)試階段(8學(xué)時):程序模塊代碼編寫、調(diào)試、測試</p><p> 4.撰寫論文階段(4學(xué)時):總結(jié)課程設(shè)計任務(wù)和設(shè)計內(nèi)容,撰寫課程設(shè)計論文</p><p> 6)課程設(shè)計題目具體要求:</p><p> 編寫一個簡單的Windows記事本程序,提高學(xué)生掌握J(rèn)ava語言的程序設(shè)計的能
11、</p><p> 力,程序有合理的界面設(shè)計,能夠在界面中實現(xiàn)對文件的寫入,保存和全選,復(fù)制,</p><p> 剪貼,復(fù)制等多種編輯功能。并且能夠順利關(guān)閉界面,退出程序。</p><p> 學(xué)生簽名: </p><p> 2007年12 月 日</p><p><b> 目 錄
12、</b></p><p> 系統(tǒng)設(shè)計目的.............................1</p><p> 系統(tǒng)實現(xiàn)思路..............................2</p><p> 系統(tǒng)詳細(xì)設(shè)計..............................3</p><p> 系統(tǒng)調(diào)試運行..
13、............................7</p><p> 課程設(shè)計心得..............................8</p><p> 參考文獻(xiàn)..................................9</p><p> 附錄...............................10</p>
14、<p> 第1章 系統(tǒng)設(shè)計目的</p><p> 1)設(shè)計一個簡單的Windows記事本,可以實現(xiàn)以下功能:</p><p> 1:文件的新建,打開,保存和另存;</p><p> 2:對文件的編輯,如全選,復(fù)制,剪切,粘貼;</p><p> 3:執(zhí)行完操作后,能夠順利關(guān)閉記事本。</p><p&g
15、t; 2)通過這次設(shè)計,可以幫助學(xué)生:</p><p> 1:提高對Java語言設(shè)計的掌握能力;</p><p> 2:理論聯(lián)系實際,進(jìn)一步提高學(xué)生的軟件開發(fā)技術(shù);</p><p> 3:培養(yǎng)學(xué)生分析、解決問題的能力。</p><p> 第2章 系統(tǒng)實現(xiàn)思路</p><p> 設(shè)計兩個類,一個jsb類,具有
16、程序的要求和功能再創(chuàng)建一個keshe主類,在主類中創(chuàng)建一個jsb類的對象,就可以直接在編譯器中運行程序。</p><p><b> 1:界面設(shè)計</b></p><p> 在主界面中設(shè)計一個Frame容器,并在其中加入一個下拉菜單和一個文本域控件,把該容器設(shè)置為GridLayout(1,1)布局。</p><p><b> 2:
17、功能設(shè)計</b></p><p> 在下拉菜單中加入子菜單并進(jìn)行監(jiān)聽,分別實現(xiàn)對文件的操作功能。點擊不同菜單項時,顯示不同界面。</p><p><b> 3:代碼設(shè)計</b></p><p> 編寫每個控件的相關(guān)代碼,并進(jìn)行調(diào)試。</p><p> 第3章系統(tǒng)詳細(xì)設(shè)計</p><
18、;p><b> 1:界面設(shè)計</b></p><p> 創(chuàng)建一個下拉菜單和文本域,在文本域中顯示編輯的文件信息。</p><p><b> 主要代碼:</b></p><p> f=new Frame(s); </p><p> p1=new TextArea(""
19、;); </p><p> f.setSize(400,600); </p><p> f.setBackground(Color.white); </p><p> f.setVisible(true); </p><p> menubar=new MenuBar(); </p><p> menu1=ne
20、w Menu("文件"); </p><p> menu2=new Menu("編輯"); </p><p> menu3=new Menu("幫助"); </p><p> item1=new MenuItem("新建"); </p><p> item
21、2=new MenuItem("打開"); </p><p> item3=new MenuItem("保存"); </p><p> item4=new MenuItem("另存為"); </p><p> item5=new MenuItem("退出"); </p>
22、<p> item6=new MenuItem("全選"); </p><p> item7=new MenuItem("復(fù)制"); </p><p> item8=new MenuItem("剪切"); </p><p> item9=new MenuItem("粘貼&qu
23、ot;); </p><p> item10=new MenuItem("關(guān)于");</p><p> menu1.add(item1); </p><p> menu1.add(item2); </p><p> menu1.add(item4); </p><p> menu1.add
24、(item5); </p><p> menu2.add(item6); </p><p> menu2.add(item7); </p><p> menu2.add(item8); </p><p> menu2.add(item9); </p><p> menu3.add(item10); </
25、p><p> menubar.add(menu1); </p><p> menubar.add(menu2); </p><p> menubar.add(menu3); </p><p> f.setMenuBar(menubar);</p><p><b> 2:功能設(shè)計</b><
26、;/p><p> 對每個菜單項進(jìn)行注冊監(jiān)聽。點擊不同菜單項時,顯示不同界面。</p><p><b> 主要代碼</b></p><p> item1.addActionListener(this); </p><p> item2.addActionListener(this); </p><p
27、> item3.addActionListener(this); </p><p> item4.addActionListener(this); </p><p> item5.addActionListener(this); </p><p> item6.addActionListener(this); </p><p>
28、 item7.addActionListener(this); </p><p> item8.addActionListener(this); </p><p> item9.addActionListener(this); </p><p> item10.addActionListener(this); </p><p><
29、;b> 3:代碼設(shè)計</b></p><p> 部分菜單項的相關(guān)代碼:</p><p><b> 新建文件</b></p><p> if (e.getSource()==item1) </p><p> { if (i==0&&(ss.length()!=0)){ bc();
30、 }</p><p><b> else </b></p><p> p1.setText("");i=0;f.setTitle("文件對話框"); }</p><p><b> 打開文件</b></p><p> if (e.getSource()=
31、=item2)</p><p> { fd=new FileDialog(f,"打開文件",0);</p><p> fd.setVisible(true); </p><p> try{ file=new File(fd.getDirectory(),fd.getFile()); </p><p> f.setT
32、itle(fd.getFile()+"文件對話框"); </p><p> FileReader fr=new FileReader(file); </p><p> BufferedReader br=new BufferedReader(fr); </p><p> String line = null; </p><
33、;p> String view = ""; </p><p> while((line=br.readLine())!=null) </p><p> { view += line+"\n"; } </p><p> p1.setText(view); </p><p> br.clos
34、e(); </p><p> fr.close(); } </p><p> catch(IOException expIn) </p><p><b> {} }</b></p><p><b> 復(fù)制文件</b></p><p> if (e.getSource
35、()==item7)</p><p><b> { try{ </b></p><p> String str=p1.getSelectedText(); </p><p> if(str.length()!=0) </p><p> { strt=str; </p><p> } }c
36、atch(Exception ex) </p><p><b> { } } </b></p><p><b> 粘貼文件</b></p><p> if (e.getSource()==item9)</p><p> { if(strt.length()>0) </p>
37、<p> { p1.insert(strt,p1.getCaretPosition()); </p><p><b> }</b></p><p><b> 退出記事本</b></p><p> if (e.getSource()==item5)</p><p> { if (
38、i==0 &&(ss.length()!=0))</p><p> { bc(); } else { System.exit(0); } } </p><p> 第4章 系統(tǒng)調(diào)試運行</p><p><b> 1:界面調(diào)試</b></p><p> 確定主窗體,設(shè)置主窗體的屬性,對窗體進(jìn)行布局,加
39、入所需控件并對控件進(jìn)行初始化。在完成加入菜單控件后,不能缺少 f.setMenuBar(menubar); 語句,將menubar設(shè)為主窗體的菜單條,否則會看不到菜單欄。</p><p><b> 如圖:</b></p><p><b> 2:功能調(diào)試</b></p><p> 對所有菜單項進(jìn)行注冊監(jiān)聽。當(dāng)進(jìn)行除保存
40、以外的菜單項的功能外,在actionPerformed中要編寫判斷界面是否已經(jīng)打開或者編輯了文件,如果是,在進(jìn)行別的功能之前,先對本文件的保存功能,以免文件的丟失。在具體實現(xiàn)中可以用變量i來判斷文件是否處于保存狀態(tài)。</p><p> 第5章 課程設(shè)計心得</p><p> 經(jīng)過一個星期的我的記事本的課程設(shè)計,我在向華萍老師的指導(dǎo)下,順利完成該課程設(shè)計。通過該課程設(shè)計,收獲頗多。<
41、;/p><p> 首先,讓我加深了對Java語言的理論知識的理解;</p><p> 其次,讓我更加熟練的掌握了Java語言的設(shè)計能力并且有了實踐經(jīng)驗;</p><p> 再次,在設(shè)計過程中,學(xué)到了老師沒有在課堂上沒有教授的知識;</p><p> 最后,加強了我對Java語言的學(xué)習(xí)興趣和好感。</p><p>&
42、lt;b> 第6章 參考文獻(xiàn)</b></p><p> [1] 耿詳義,張躍平. Java 2 實用教程. 北京:清華大學(xué)出版社,2004.2</p><p> [2] 張利國.Java實用教程案例.北京:清華大學(xué)出版社,2003.10</p><p> [3] 周曉聰,等.面向?qū)ο蟪绦蛟O(shè)計與Java語言.北京:機械工業(yè)出版社,200
43、4.3</p><p> [4] 李尊朝.Java語言程序設(shè)計.北京:中國鐵道出版社,2004.2</p><p> [5] (美)Philip Heller.Complate Java 2 Certification Study Guide Fourth Edition(Java 2 證學(xué)習(xí)指南) (第四版 英文版). 北京:電子工業(yè)出版社,2004.1</p>&
44、lt;p><b> 第7章 附 錄</b></p><p><b> 程序源代碼:</b></p><p> import java.awt.event.*; </p><p> import java.awt.*; </p><p> import java.io.*; </
45、p><p> import java.lang.String; </p><p> class jsb implements ActionListener </p><p><b> { </b></p><p> Dialog bb; </p><p> String strt; <
46、/p><p><b> int i; </b></p><p> FileDialog fd; </p><p> File file; </p><p> public Frame f; </p><p> public TextArea p1; </p><p>
47、 public MenuBar menubar; </p><p> public Menu menu1,menu2,menu3; </p><p> public MenuItem item1,item2,item3,item4,item5,item6,item7,item8,item9,item10; </p><p> jsb(String s) &l
48、t;/p><p><b> { i=0; </b></p><p> f=new Frame(s); </p><p> p1=new TextArea(""); </p><p> f.setSize(500,500); </p><p> f.setBackgroun
49、d(Color.white); </p><p> f.setVisible(true); </p><p> menubar=new MenuBar(); </p><p> menu1=new Menu("文件"); </p><p> menu2=new Menu("編輯"); </
50、p><p> menu3=new Menu("幫助"); </p><p> item1=new MenuItem("新建"); </p><p> item2=new MenuItem("打開"); </p><p> item3=new MenuItem("保存&q
51、uot;); </p><p> item4=new MenuItem("另存為"); </p><p> item5=new MenuItem("退出"); </p><p> item6=new MenuItem("全選"); </p><p> item7=new Me
52、nuItem("復(fù)制"); </p><p> item8=new MenuItem("剪切"); </p><p> item9=new MenuItem("粘貼"); </p><p> item10=new MenuItem("關(guān)于"); </p><p&
53、gt; f.addWindowListener(new WindowAdapter() </p><p><b> { </b></p><p> public void windowClosing(WindowEvent e) </p><p> {f.setVisible(false);System.exit(0);} </p
54、><p><b> }); </b></p><p> menu1.add(item1); </p><p> menu1.add(item2); </p><p> menu1.add(item3); </p><p> menu1.add(item4); </p><
55、p> menu1.add(item5); </p><p> menu2.add(item6); </p><p> menu2.add(item7); </p><p> menu2.add(item8); </p><p> menu2.add(item9); </p><p> menu3.ad
56、d(item10); </p><p> menubar.add(menu1); </p><p> menubar.add(menu2); </p><p> menubar.add(menu3); </p><p> f.setMenuBar(menubar); </p><p> item1.addAc
57、tionListener(this); </p><p> item2.addActionListener(this); </p><p> item3.addActionListener(this); </p><p> item4.addActionListener(this); </p><p> item5.addAction
58、Listener(this); </p><p> item6.addActionListener(this); </p><p> item7.addActionListener(this); </p><p> item8.addActionListener(this); </p><p> item9.addActionList
59、ener(this); </p><p> item10.addActionListener(this); </p><p> f.setLayout(new GridLayout(1,1)); </p><p> f.add(p1);f.pack(); </p><p><b> } </b></p>
60、;<p> public void actionPerformed(ActionEvent e) </p><p><b> { </b></p><p> String ss; </p><p> ss=p1.getText().trim(); </p><p> if (e.getSource
61、()==item5)</p><p><b> { </b></p><p> if (i==0 &&(ss.length()!=0))</p><p><b> { </b></p><p><b> bc(); </b></p><
62、;p><b> } </b></p><p><b> else </b></p><p><b> { </b></p><p> System.exit(0); </p><p><b> } </b></p><p
63、><b> } </b></p><p> if (e.getSource()==item1) </p><p><b> { </b></p><p> if (i==0&&(ss.length()!=0))</p><p><b> { </b&g
64、t;</p><p><b> bc(); </b></p><p><b> } </b></p><p><b> else </b></p><p><b> { </b></p><p> p1.setText(&
65、quot;");i=0;f.setTitle("文件對話框"); </p><p><b> } </b></p><p><b> } </b></p><p> if (e.getSource()==item2)</p><p><b> { &l
66、t;/b></p><p> fd=new FileDialog(f,"打開文件",0);</p><p> fd.setVisible(true); </p><p><b> try{ </b></p><p> file=new File(fd.getDirectory(),fd.
67、getFile()); </p><p> f.setTitle(fd.getFile()+"文件對話框"); </p><p> FileReader fr=new FileReader(file);</p><p> BufferedReader br=new BufferedReader(fr); </p><p&
68、gt; String line = null; </p><p> String view = ""; </p><p> while((line=br.readLine())!=null) </p><p><b> { </b></p><p> view += line+"\
69、n"; </p><p><b> } </b></p><p> p1.setText(view); </p><p> br.close(); </p><p> fr.close(); </p><p><b> } </b></p>
70、<p> catch(IOException expIn) </p><p><b> {} </b></p><p><b> } </b></p><p> if (e.getSource()==item3)</p><p><b> { </b><
71、;/p><p> if (i==0) </p><p><b> { </b></p><p><b> bc(); </b></p><p><b> } </b></p><p><b> else </b></p&
72、gt;<p><b> { </b></p><p><b> try{ </b></p><p> file=new File(fd.getDirectory(),fd.getFile()); </p><p> f.setTitle(fd.getFile()+"--記事本");
73、 </p><p> FileWriter fw=new FileWriter(file);</p><p> BufferedWriter bw=new BufferedWriter(fw); </p><p> String s =p1.getText(); </p><p> s = s.replaceAll("\n&
74、quot;,"\r\n"); </p><p> bw.write(s); </p><p> bw.flush(); </p><p> bw.close();</p><p> fw.close(); </p><p><b> i=1; </b></p&g
75、t;<p><b> } </b></p><p> catch(IOException expOut){i=0;} </p><p><b> } </b></p><p><b> } </b></p><p> if (e.getSource()=
76、=item4)</p><p><b> { </b></p><p><b> bc(); </b></p><p><b> } </b></p><p> if (e.getSource()==item10)</p><p><b&g
77、t; { </b></p><p> bb=new Dialog(f,"關(guān)于"); </p><p> Label l1=new Label("本記事本的完成感謝老師和同學(xué)的幫助??!"); </p><p> bb.add(l1); </p><p> bb.setSize(250
78、,150); </p><p> bb.setBackground(Color.white); </p><p> bb.show(); </p><p> bb.addWindowListener(new WindowAdapter() </p><p><b> { </b></p><p
79、> public void windowClosing(WindowEvent e) </p><p> {bb.setVisible(false);bb.dispose();} </p><p><b> }); </b></p><p><b> } </b></p><p>
80、if (e.getSource()==item6)</p><p><b> { </b></p><p> p1.setSelectionStart(0); </p><p> p1.setSelectionEnd(p1.getText().length()); </p><p><b> } <
81、;/b></p><p> if (e.getSource()==item7)</p><p><b> { </b></p><p><b> try{ </b></p><p> String str=p1.getSelectedText(); </p><p&
82、gt; if(str.length()!=0) </p><p><b> { </b></p><p> strt=str; </p><p><b> } </b></p><p> }catch(Exception ex) </p><p><b>
83、 { </b></p><p><b> } </b></p><p><b> } </b></p><p> if (e.getSource()==item8)</p><p><b> { </b></p><p><b
84、> try{ </b></p><p> String str=p1.getSelectedText(); </p><p> if(str.length()!=0) </p><p><b> { </b></p><p> p1.replaceRange("",p1.g
85、etSelectionStart(),p1.getSelectionEnd()); </p><p><b> } </b></p><p><b> } </b></p><p> catch(Exception ex) </p><p><b> { </b><
86、;/p><p><b> } </b></p><p><b> } </b></p><p> if (e.getSource()==item9)</p><p><b> { </b></p><p> if(strt.length()>
87、0) </p><p><b> { </b></p><p> p1.insert(strt,p1.getCaretPosition()); </p><p><b> } </b></p><p><b> } </b></p><p>&l
88、t;b> } </b></p><p> public void bc()</p><p><b> { </b></p><p> fd=new FileDialog(f,"保存文件",1);</p><p> fd.setVisible(true); </p>
89、;<p><b> try{ </b></p><p> file=new File(fd.getDirectory(),fd.getFile()); </p><p> f.setTitle(fd.getFile()+"--記事本"); </p><p> FileWriter fw=new File
90、Writer(file);</p><p> BufferedWriter bw=new BufferedWriter(fw); </p><p> String s =p1.getText(); </p><p> s = s.replaceAll("\n","\r\n"); </p><p>
91、 bw.write(s); </p><p> bw.flush(); </p><p> bw.close();</p><p> fw.close(); </p><p><b> i=1; </b></p><p><b> } </b></p>
92、<p> catch(IOException expOut){}</p><p><b> } </b></p><p><b> } </b></p><p> public class keshe </p><p> { public static void main(S
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java記事本課程設(shè)計報告
- java記事本課程設(shè)計
- java記事本課程設(shè)計
- 記事本課程設(shè)計報告
- java記事本程序課程設(shè)計報告
- java課程設(shè)計--日歷記事本
- java課程設(shè)計報告--實現(xiàn)記事本功能
- java課程設(shè)計日歷記事本
- java課程設(shè)計--日歷記事本
- 日歷記事本-java課程設(shè)計
- 日歷記事本java課程設(shè)計
- 日歷記事本java課程設(shè)計論文
- java課程設(shè)計--- 記事本程序設(shè)計
- 基于java的記事本程序課程設(shè)計
- java課程設(shè)計記事本(含代碼)1
- 基于java的記事本程序課程設(shè)計
- java課程設(shè)計---設(shè)計一個記事本
- java語言課程設(shè)計---記事本程序設(shè)計
- java課程設(shè)計---基于java的記事本軟件設(shè)計
- java課程設(shè)計--簡單記事本程序的設(shè)計
評論
0/150
提交評論