java課程設(shè)計(jì)--編寫(xiě)一個(gè)記事本程序_第1頁(yè)
已閱讀1頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  Java語(yǔ)言程序設(shè)計(jì)B報(bào) 告</p><p><b>  班級(jí):</b></p><p><b>  學(xué)號(hào):</b></p><p><b>  姓名:</b></p><p><b>  成績(jī):</b></p>

2、<p><b>  2012年12月</b></p><p>  題目:編寫(xiě)一個(gè)記事本程序</p><p><b>  課程設(shè)計(jì)題目概要。</b></p><p><b>  1.1課程設(shè)計(jì)目的</b></p><p><b>  1.2題目設(shè)計(jì)要求<

3、/b></p><p><b>  課程設(shè)計(jì)思路。</b></p><p>  課程設(shè)計(jì)實(shí)現(xiàn)功能結(jié)構(gòu)圖。</p><p>  3.1“文件”菜單。</p><p>  3.2“編輯”菜單。</p><p>  記事本實(shí)現(xiàn)功能代碼實(shí)現(xiàn)。</p><p>  4.1界面設(shè)

4、計(jì)代碼實(shí)現(xiàn)及實(shí)現(xiàn)截圖。</p><p>  4.2功能代碼詳細(xì)設(shè)計(jì)</p><p><b>  4.2.1新建文件</b></p><p><b>  4.2.2打開(kāi)文件</b></p><p><b>  4.2.3復(fù)制文件</b></p><p>&

5、lt;b>  4.2.4粘貼文件</b></p><p>  4.2.5退出記事本</p><p>  JAVA課程設(shè)計(jì)個(gè)人總結(jié)。</p><p>  附:JAVA課程設(shè)計(jì)程序源代碼</p><p><b>  課程設(shè)計(jì)題目概要。</b></p><p><b>  1

6、課程設(shè)計(jì)目的。</b></p><p>  按照老師要求,編寫(xiě)一個(gè)記事本程序,并可以實(shí)現(xiàn)老師要求的相關(guān)功能。在課程設(shè)計(jì)過(guò)程中,復(fù)習(xí)鞏固Java語(yǔ)言的基礎(chǔ)知識(shí),進(jìn)一步加深對(duì)Java語(yǔ)言的理解和掌握,將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉自己的分析解決實(shí)際問(wèn)題的能力,提高自己實(shí)踐編程的能力。</p><p>  1.2題目設(shè)計(jì)要求。</p><p> 

7、 要求:用圖形用戶(hù)界面實(shí)現(xiàn)。能實(shí)現(xiàn)編輯、保存、另存為、查找替換等功能。提示:使用文件輸入輸出流。</p><p><b>  課程設(shè)計(jì)思路。</b></p><p>  設(shè)計(jì)兩個(gè)類(lèi),一個(gè)記事本的類(lèi)(JSB),具有程序的要求和功能再創(chuàng)建一個(gè)課設(shè)的主類(lèi)(KESHE),在主類(lèi)中創(chuàng)建一個(gè)JSB類(lèi)的對(duì)象,就可以直接在編譯器中運(yùn)行程序。</p><p> 

8、 在主界面中設(shè)計(jì)一個(gè)Frame容器,并在其中加入一個(gè)下拉 菜單和一個(gè)文本域控件,把該容器設(shè)置為GridLayout(1,1)布局。</p><p>  課程設(shè)計(jì)實(shí)現(xiàn)功能結(jié)構(gòu)圖。</p><p>  3.1“文件”菜單。</p><p>  3.2“編輯”菜單。</p><p>  四.記事本實(shí)現(xiàn)功能代碼實(shí)現(xiàn)。&l

9、t;/p><p><b>  4.1.界面設(shè)計(jì)。</b></p><p><b>  主要代碼:</b></p><p>  f=new Frame(s); </p><p>  p1=new TextArea(""); </p><p>  f.setSiz

10、e(400,600); </p><p>  f.setBackground(Color.white); </p><p>  f.setVisible(true); </p><p>  menubar=new MenuBar(); </p><p>  menu1=new Menu("文件"); </p>

11、<p>  menu2=new Menu("編輯"); </p><p>  item1=new MenuItem("新建"); </p><p>  item2=new MenuItem("打開(kāi)"); </p><p>  item3=new MenuItem("保存");

12、 </p><p>  item4=new MenuItem("另存為"); </p><p>  item5=new MenuItem("退出"); </p><p>  item6=new MenuItem("全選"); </p><p>  item7=new MenuItem

13、("復(fù)制"); </p><p>  item8=new MenuItem("剪切"); </p><p>  item9=new MenuItem("粘貼"); </p><p>  menu1.add(item1); </p><p>  menu1.add(item2); &l

14、t;/p><p>  menu1.add(item4); </p><p>  menu1.add(item5); </p><p>  menu2.add(item6); </p><p>  menu2.add(item7); </p><p>  menu2.add(item8); </p><p

15、>  menu2.add(item9); </p><p>  menubar.add(menu1); </p><p>  menubar.add(menu2); </p><p>  f.setMenuBar(menubar);</p><p><b>  程序代碼實(shí)現(xiàn)截圖:</b></p>&

16、lt;p>  4.2功能代碼詳細(xì)設(shè)計(jì)。</p><p>  4.2.1新建文件。</p><p>  if (e.getSource()==item1) </p><p><b>  { </b></p><p>  if (i==0&&(ss.length()!=0))</p>&l

17、t;p><b>  {</b></p><p><b>  bc(); </b></p><p><b>  }</b></p><p><b>  else </b></p><p>  p1.setText("");i=0;f

18、.setTitle("文件對(duì)話(huà)框"); </p><p><b>  }</b></p><p>  4.2.2打開(kāi)文件。</p><p>  if (e.getSource()==item2)</p><p><b>  { </b></p><p> 

19、 fd=new FileDialog(f,"打開(kāi)文件",0);</p><p>  fd.setVisible(true); </p><p><b>  try{ </b></p><p>  file=new File(fd.getDirectory(),fd.getFile()); </p><p&

20、gt;  f.setTitle(fd.getFile()+"文件對(duì)話(huà)框"); </p><p>  FileReader fr=new FileReader(file); </p><p>  BufferedReader br=new BufferedReader(fr); </p><p>  String line = null; <

21、/p><p>  String view = ""; </p><p>  while((line=br.readLine())!=null) </p><p><b>  { </b></p><p>  view += line+"\n"; </p><p>

22、;<b>  } </b></p><p>  p1.setText(view); </p><p>  br.close(); </p><p>  fr.close(); </p><p><b>  } </b></p><p>  catch(IOException

23、expIn) </p><p><b>  {}</b></p><p><b>  }</b></p><p>  4.2.3復(fù)制文件。</p><p>  if (e.getSource()==item7)</p><p><b>  { </b>&

24、lt;/p><p><b>  try{ </b></p><p>  String str=p1.getSelectedText(); </p><p>  if(str.length()!=0) </p><p><b>  { </b></p><p>  strt=str

25、; </p><p><b>  }</b></p><p>  }catch(Exception ex) </p><p><b>  { } </b></p><p><b>  } </b></p><p>  4.2.4粘貼文件。</p&g

26、t;<p>  if (e.getSource()==item9)</p><p><b>  { </b></p><p>  if(strt.length()>0) </p><p><b>  {</b></p><p>  p1.insert(strt,p1.getCar

27、etPosition()); </p><p><b>  }</b></p><p>  4.2.5退出記事本。</p><p>  if (e.getSource()==item5)</p><p><b>  { </b></p><p>  if (i==0 &

28、;&(ss.length()!=0))</p><p><b>  { </b></p><p><b>  bc(); </b></p><p><b>  } </b></p><p><b>  else </b></p>&l

29、t;p><b>  { </b></p><p>  System.exit(0); </p><p><b>  } </b></p><p><b>  } </b></p><p>  JAVA課程設(shè)計(jì)個(gè)人總結(jié)。</p><p>  這個(gè)學(xué)期

30、我們學(xué)習(xí)了JAVA語(yǔ)言,這對(duì)于我們來(lái)說(shuō)是一門(mén)十分陌生的編程語(yǔ)言,在學(xué)習(xí)的過(guò)程中,我感到了這門(mén)語(yǔ)言的學(xué)習(xí)有一定的困難,與C、C++語(yǔ)言相比需要克服的困難也相對(duì)多一些。在學(xué)習(xí)了JAVA課程后,我們通過(guò)這次的JAVA課程設(shè)計(jì)復(fù)習(xí)和掌握我們學(xué)習(xí)的JAVA語(yǔ)言知識(shí),并且在課程設(shè)計(jì)的過(guò)程中鞏固和運(yùn)用相關(guān)的知識(shí),提高自己的JAVA編程能力。</p><p>  通過(guò)這次的JAVA課程設(shè)計(jì),我更好地了解了JAVA的編程方法,并且

31、在遇到困難的時(shí)候,能主動(dòng)請(qǐng)教身邊的同學(xué),不僅僅培養(yǎng)了我的編程能力,在與同學(xué)的交流中我也更好的培養(yǎng)了與其他人的交流能力,相信通過(guò)這次的JAVA課程設(shè)計(jì),我更好地學(xué)習(xí)了JAVA,相信我自己在以后的學(xué)習(xí)中能繼續(xù)學(xué)習(xí)JAVA,在更好地豐富自己JAVA知識(shí)的同時(shí),積極提高自己的JAVA編程能力,在以后能更好地掌握J(rèn)AVA語(yǔ)言。</p><p>  JAVA語(yǔ)言課程設(shè)計(jì)程序源代碼:</p><p> 

32、 import java.io.*;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  class FileInAndOut </p><p><b>  {</b></p><p>  public

33、 static String fileInput(String fName)</p><p><b>  {</b></p><p>  String strRead="";</p><p><b>  try {</b></p><p>  FileReader fr=new

34、FileReader(fName);</p><p>  BufferedReader br=new BufferedReader(fr);</p><p>  String aline=new String();</p><p>  while((aline=br.readLine())!=null)</p><p>  strRead=s

35、trRead+aline;</p><p>  br.close();</p><p>  fr.close();</p><p>  } catch (FileNotFoundException e) {</p><p>  e.printStackTrace();</p><p>  } catch (IOExce

36、ption e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return strRead;</p><p><b>  }</b></p><p>  public static void f

37、ileWrite(String fName,String temp)</p><p><b>  {</b></p><p><b>  try {</b></p><p>  FileWriter fw=new FileWriter(fName);</p><p>  BufferedWriter

38、 bw=new BufferedWriter(fw);</p><p>  bw.write(temp);</p><p>  bw.close();</p><p>  fw.close();</p><p>  } catch (IOException e) {</p><p>  e.printStackTrac

39、e();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public class MyNote implements ActionListener </p><p&

40、gt;<b>  {</b></p><p>  private Frame f;</p><p>  private TextArea ta;</p><p>  private MenuBar mb;</p><p>  private String strme[]={"文件","編輯&

41、quot;,"幫助"};</p><p>  private String strmi[][]={{"新建","打開(kāi)","保存","退出"},{"剪切","拷貝","粘貼","查找"},</p><p>  pr

42、ivate String fileDir,fileName,temp="";</p><p>  private Menu me[];</p><p>  private MenuItem mi[][];</p><p>  private Label l1,l2;</p><p>  private TextField

43、t1,t2;</p><p>  private Button b1,b2,b3;</p><p>  private Dialog diaFind,diaAbout;</p><p>  public MyNote(){</p><p>  f=new Frame("我的記事本");</p><p&g

44、t;  ta=new TextArea();</p><p>  f.add(ta);</p><p>  mb=new MenuBar();</p><p>  f.setMenuBar(mb);</p><p>  mi=new MenuItem[strme.length][];</p><p>  me=new

45、Menu[strme.length];</p><p>  for(int i=0;i<strme.length;i++){</p><p>  me[i]=new Menu(strme[i]);</p><p>  mb.add(me[i]);</p><p>  mi[i]=new MenuItem[strmi[i].length]

46、;</p><p>  for(int j=0;j<strmi[i].length;j++){</p><p>  mi[i][j]=new MenuItem(strmi[i][j]);</p><p>  me[i].add(mi[i][j]);</p><p>  mi[i][j].addActionListener(this);&

47、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p>  f.addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){</p&g

48、t;<p>  System.exit(0);</p><p><b>  }</b></p><p><b>  });</b></p><p>  f.setSize(400,300);</p><p><b>  f.show();</b></p>

49、;<p>  diaFind=new Dialog(f,"查找",true);</p><p>  diaFind.setLayout(new FlowLayout());</p><p>  diaFind.setSize(260,120);</p><p>  l1=new Label("查找內(nèi)容");<

50、;/p><p>  l2=new Label("替 換 為");</p><p>  t1=new TextField(20);</p><p>  t2=new TextField(20);</p><p>  b1=new Button("下一個(gè)");</p><p>  b2=

51、new Button("替換");</p><p>  b3=new Button("取消");</p><p>  diaFind.add(l1);</p><p>  diaFind.add(t1);</p><p>  diaFind.add(l2);</p><p>  

52、diaFind.add(t2);</p><p>  diaFind.add(b1);</p><p>  diaFind.add(b2);</p><p>  diaFind.add(b3);</p><p>  diaFind.addWindowListener(new WindowAdapter()</p><p&g

53、t;<b>  {</b></p><p>  public void windowClosing(WindowEvent e){</p><p>  diaFind.dispose();</p><p><b>  }</b></p><p><b>  });</b><

54、;/p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e){</p><p>  String cmd=e.getActionCommand();</p><p>  if(cmd.equals("新建")){</

55、p><p>  fileDir="";</p><p>  fileName="";</p><p>  ta.setText("");</p><p>  f.setTitle("我的記事本");</p><p><b>  }&l

56、t;/b></p><p>  if(cmd.equals("打開(kāi)")){</p><p>  FileDialog diaOpen=new FileDialog(f,"",FileDialog.LOAD);</p><p>  diaOpen.show();</p><p>  fileDir=

57、diaOpen.getDirectory();</p><p>  fileName=diaOpen.getFile();</p><p>  if(!fileName.equals("")){</p><p>  ta.setText(FileInAndOut.fileInput(fileDir+fileName));</p>&

58、lt;p>  f.setTitle(fileName+"我的記事本");</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(cmd.equals("保存")){</p><p>  FileDial

59、og diaSave=new FileDialog(f,"",FileDialog.SAVE);</p><p>  diaSave.show();</p><p>  fileDir=diaSave.getDirectory();</p><p>  fileName=diaSave.getFile();</p><p>

60、;  if(!fileName.equals("")){</p><p>  FileInAndOut.fileWrite(fileDir+fileName,ta.getText());</p><p>  f.setTitle(fileName+"我的記事本");</p><p><b>  }</b>

61、</p><p><b>  }</b></p><p>  if(cmd.equals("退出")){</p><p>  System.exit(0);</p><p><b>  }</b></p><p>  if(cmd.equals("

62、;剪切")){</p><p><b>  int x,y;</b></p><p>  x=ta.getSelectionStart();</p><p>  y=ta.getSelectionEnd();</p><p>  temp=ta.getSelectedText();</p><

63、;p>  ta.replaceRange("",x,y);</p><p><b>  }</b></p><p>  if(cmd.equals("拷貝")){</p><p>  temp=ta.getSelectedText();</p><p><b>  

64、}</b></p><p>  if(cmd.equals("粘貼")){</p><p>  ta.replaceRange(temp,ta.getSelectionStart(),ta.getSelectionEnd());</p><p><b>  }</b></p><p>  

65、if(cmd.equals("查找")){</p><p>  diaFind.show();</p><p><b>  }</b></p><p>  if(cmd.equals("關(guān)于")){</p><p><b>  }</b></p>

66、<p><b>  }</b></p><p>  public static void main(String[] args) {</p><p>  new MyNote();</p><p><b>  }</b></p><p><b>  }</b><

溫馨提示

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

評(píng)論

0/150

提交評(píng)論