2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1 問題描述</b></p><p>  設(shè)計一個具有GUI界面的記事本,含有簡單的文字編輯功能,如:剪切、復(fù)制、粘貼、刪除;還能實現(xiàn)保存、另存為、設(shè)置字體和顏色等功能。</p><p>  這次課程設(shè)計由**、**和我三個人合作完成。**主要負責(zé)3概要設(shè)計和5測試分析。**4.1GUI程序界面設(shè)計,我負責(zé)4. 2JM4類的實現(xiàn)。由于4.

2、3事件處理和撰寫程序關(guān)系密切,這兩項都由**負責(zé)。</p><p><b>  2 需求分析</b></p><p>  本程序要構(gòu)建的記事本程序參照了Windows操作系統(tǒng)的記事本工具,其功能有以下幾個方面:</p><p>  (1)、菜單中有“文件”、“編輯”、“格式”、“幫助”四個主菜單;</p><p>  (

3、2)、“文件”有“新建”、“打開”、“保存”、“另存為”、“退出”分別用于新建文件,打開文件,保存文件,另存文件,退出記事本。</p><p>  (3)、“編輯”有“剪切”、“復(fù)制”、“粘貼”三個子菜單:用于剪切文字,復(fù)制文字,粘貼文字,刪除文字。</p><p>  (4)、“格式”中,有“字體”、“顏色”兩個子菜單:用于設(shè)置文字的字體而和顏色,字體有“宋體”、“楷體”、“黑體”顏色有

4、“紅”、“藍”、“綠”。</p><p>  (5)、“幫助”菜單中有“關(guān)于”的子菜單,用于描述記事本程序的相關(guān)信息。</p><p>  (6)、還有彈出菜單也能實現(xiàn)“剪切”、“復(fù)制”、“粘貼”三個子菜單的功能。</p><p><b>  3 概要設(shè)計</b></p><p><b>  3.1自定義類說明

5、</b></p><p>  3.1.1 類名: JM (1)作用: 主類(2)繼承的父類: JFrame類 </p><p> ?。?)成員變量說明:</p><p>  JMenuBar mb=new JMenuBar(); //定義一個菜單項</p><p>  /******定義各個菜單及其菜單項******/&l

6、t;/p><p>  JMenu m1=new JMenu("文件(F)");</p><p>  JMenuItem n=new JMenuItem("新建");</p><p>  JMenuItem open=new JMenuItem("打開(O)... Ctrl+O");</p><

7、;p>  JMenuItem save=new JMenuItem("保存(S)... Ctrl+S");</p><p>  JMenuItem save_as=new JMenuItem("另存為(A)...Ctrl+A");</p><p>  JMenuItem exit=new JMenuItem("退出");&l

8、t;/p><p>  JMenu m2=new JMenu("編輯(E)");</p><p>  JMenuItem copy=new JMenuItem("復(fù)制(C) Ctrl+C");</p><p>  JMenuItem cut=new JMenuItem("剪切(X) Ctrl+X");</

9、p><p>  JMenuItem paste=new JMenuItem("粘貼(P) Ctrl+P");</p><p>  JMenu m3=new JMenu("格式(O)");</p><p>  JMenu f1=new JMenu("字體(F)");</p><p>  J

10、MenuItem i11=new JMenuItem("宋體");</p><p>  JMenuItem i12=new JMenuItem("楷體");</p><p>  JMenuItem i13=new JMenuItem("黑體");</p><p>  JMenu color=new JMen

11、u("顏色(C)");</p><p>  JMenuItem i21=new JMenuItem("紅");</p><p>  JMenuItem i22=new JMenuItem("藍"); </p><p>  JMenuItem i23=new JMenuItem("綠");

12、</p><p>  JMenu m4=new JMenu("幫助(H)");</p><p>  JMenuItem about=new JMenuItem("關(guān)于");</p><p>  /*****定義彈出菜單及其菜單項*****/</p><p>  JPopupMenu pm=new JPo

13、pupMenu();</p><p>  JMenuItem item1=new JMenuItem("復(fù)制");</p><p>  JMenuItem item2=new JMenuItem("剪切");</p><p>  JMenuItem item3=new JMenuItem("粘貼");<

14、;/p><p>  /***********編輯區(qū)**********/ </p><p><b>  String s;</b></p><p>  Container c;</p><p>  JTextArea editor=new JTextArea(s);</p><p> ?。?)主要方法

15、說明:</p><p>  JM( )方法創(chuàng)建一個窗口并設(shè)置窗口的相應(yīng)參數(shù),以及把各個項目加到窗上</p><p>  private void addJMenuBar( )方法把各個菜單添加到菜單棒上 private void addFileMenu( ) private void addEditMenu( ) private void addFormMenu( ) priva

16、te void addHelpMenu( ) private void addJPopupMenu( )各個方法則把相應(yīng)的菜單項添加到各自的“文件”、“編輯”、“格式”、“幫助”菜單上,及彈出菜單上</p><p>  3.1.2 類名: JM4</p><p> ?。?)作用: 主類(2)繼承的父類: JM類 </p><p>  (3)主要成員方法說明:&l

17、t;/p><p>  編輯區(qū)鍵盤事件:KeyListener類 如果記事本的編輯區(qū)內(nèi)用鍵盤輸入了字符,就能夠被程序監(jiān)聽;</p><p>  editor.addKeyListener( new KeyAdapter()</p><p>  {public void keyTyped(KeyEvent e){flag=1;}});</p><p>

18、;  窗口的事件監(jiān)聽:windowListener類;</p><p>  class windowListener extends WindowAdapter</p><p>  { </p><p>  public void windowClosing(WindowEvent e)</p><

19、;p><b>  { </b></p><p>  if(flag==0)System.exit(0);</p><p>  else close();</p><p><b>  }</b></p><p><b>  } </b></p>&

20、lt;p>  菜單項的事件監(jiān)聽:ActionListener類;</p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  Font f2=editor.getFont();</p><p>  JMenuI

21、tem mi=(JMenuItem) e.getSource();</p><p><b>  …… </b></p><p><b>  }</b></p><p><b>  3.2 程序流程圖</b></p><p><b>  3.2.1主流程圖</b&

22、gt;</p><p>  3.2.2 “文件”菜單操作流程圖</p><p>  3.2.3 “編輯”菜單操作流程圖</p><p>  3.2.4 “格式”菜單操作流程圖</p><p><b>  、</b></p><p>  3.2.5 彈出菜單操作流程圖</p><

23、p>  3.2.6 “幫助”菜單操作流程圖</p><p><b>  4 詳細設(shè)計</b></p><p>  4.1 GUI程序界面設(shè)計</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  i

24、mport javax.swing.*;</p><p>  import java.io.*; </p><p>  public class JM extends JFrame</p><p><b>  { </b></p><p>  JMenuBar mb=new JMenuBar(); //定義一個菜單項

25、</p><p>  /******定義各個菜單及其菜單項******/</p><p>  JMenu m1=new JMenu("文件(F)");</p><p>  JMenuItem n=new JMenuItem("新建");</p><p>  JMenuItem open=new JMen

26、uItem("打開(O)... Ctrl+O");</p><p>  JMenuItem save=new JMenuItem("保存(S)... Ctrl+S");</p><p>  JMenuItem save_as=new JMenuItem("另存為(A)...Ctrl+A");</p><p>

27、;  JMenuItem exit=new JMenuItem("退出");</p><p>  JMenu m2=new JMenu("編輯(E)");</p><p>  JMenuItem copy=new JMenuItem("復(fù)制(C) Ctrl+C");</p><p>  JMenuItem

28、cut=new JMenuItem("剪切(X) Ctrl+X");</p><p>  JMenuItem paste=new JMenuItem("粘貼(P) Ctrl+P");</p><p>  JMenu m3=new JMenu("格式(O)");</p><p>  JMenu f1=new

29、 JMenu("字體(F)");</p><p>  JMenuItem i11=new JMenuItem("宋體");</p><p>  JMenuItem i12=new JMenuItem("楷體");</p><p>  JMenuItem i13=new JMenuItem("黑體&

30、quot;);</p><p>  JMenu color=new JMenu("顏色(C)");</p><p>  JMenuItem i21=new JMenuItem("紅");</p><p>  JMenuItem i22=new JMenuItem("藍"); </p><

31、p>  JMenuItem i23=new JMenuItem("綠");</p><p>  JMenu m4=new JMenu("幫助(H)");</p><p>  JMenuItem about=new JMenuItem("關(guān)于");</p><p>  /*****定義彈出菜單及其菜單項

32、*****/</p><p>  JPopupMenu pm=new JPopupMenu();</p><p>  JMenuItem item1=new JMenuItem("復(fù)制");</p><p>  JMenuItem item2=new JMenuItem("剪切");</p><p> 

33、 JMenuItem item3=new JMenuItem("粘貼");</p><p>  /***********編輯區(qū)**********/ </p><p><b>  String s;</b></p><p>  Container c;</p><p>  JTextArea edit

34、or=new JTextArea(s);</p><p>  Font t=new Font("sanserif",Font.PLAIN,12);</p><p><b>  JM()</b></p><p><b>  {</b></p><p>  super("記

35、事本");</p><p>  setSize(500,400);</p><p>  try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}</p><p>  catch(Exception e){System.err.println("不能設(shè)置外觀的

36、原因;"+e);}</p><p>  c = getContentPane();</p><p>  c.add(new JScrollPane(editor));</p><p>  addFileMenu();</p><p>  addEditMenu();</p><p>  addFormMenu

37、();</p><p>  addHelpMenu();</p><p>  addJMenuBar();</p><p>  addJPopupMenu();</p><p>  setJMenuBar(mb);</p><p>  setVisible(true);</p><p>  se

38、tDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p><b>  }</b></p><p>  /******把菜單項加到菜單上******/</p><p>  private void addFileMenu()</p><p><b>  {<

39、/b></p><p>  m1.add(n);</p><p>  m1.add(open);</p><p>  m1.add(save);</p><p>  m1.add(save_as);</p><p>  m1.addSeparator();</p><p>  m1.add

40、(exit);</p><p>  m1.setFont(t);</p><p><b>  }</b></p><p>  private void addEditMenu()</p><p><b>  {</b></p><p>  m2.add(copy);</

41、p><p>  m2.add(cut);</p><p>  m2.addSeparator();</p><p>  m2.add(paste);</p><p>  m2.setFont(t);</p><p><b>  }</b></p><p>  private v

42、oid addFormMenu()</p><p><b>  {</b></p><p>  m3.add(f1);</p><p>  m3.add(color);</p><p>  m3.setFont(t);</p><p>  f1.add(i11);</p><p

43、>  f1.add(i12);</p><p>  f1.add(i13);</p><p>  color.add(i21);</p><p>  color.add(i22);</p><p>  color.add(i23);</p><p><b>  }</b></p>

44、<p>  private void addHelpMenu()</p><p><b>  {</b></p><p>  m4.add(about);</p><p>  m4.setFont(t);</p><p><b>  }</b></p><p>

45、  private void addJMenuBar()</p><p><b>  {</b></p><p>  mb.add(m1);</p><p>  mb.add(m2);</p><p>  mb.add(m3);</p><p>  mb.add(m4);</p>&

46、lt;p>  mb.setBackground(Color.cyan);</p><p><b>  }</b></p><p>  private void addJPopupMenu()</p><p><b>  {</b></p><p>  editor.add(pm);</p

47、><p>  pm.add(item1);</p><p>  pm.add(item2);</p><p>  pm.add(item3);</p><p><b>  }</b></p><p>  public static void main(String arg[]){new JM();}&

48、lt;/p><p><b>  }</b></p><p>  4.2 JM4類的實現(xiàn)</p><p>  import java.io.*; </p><p>  import java.awt.*; </p>

49、;<p>  import javax.swing.*; </p><p>  import java.awt.event.*;</p><p>  import java.awt.Font.*;</p><p>  public class JM4 extends JM implements ActionListener,MouseListener/

50、/EventListener</p><p><b>  { </b></p><p>  int flag=0;</p><p>  public JM4()</p><p><b>  {</b></p><p>  /**********監(jiān)聽器接口**********/

51、</p><p>  n.addActionListener(this);</p><p>  open.addActionListener(this);</p><p>  save.addActionListener(this);</p><p>  save_as.addActionListener(this);</p>

52、<p>  exit.addActionListener(this);</p><p>  copy.addActionListener(this);</p><p>  cut.addActionListener(this);</p><p>  paste.addActionListener(this);</p><p>  i

53、11.addActionListener(this);</p><p>  i12.addActionListener(this);</p><p>  i13.addActionListener(this);</p><p>  i21.addActionListener(this);</p><p>  i22.addActionList

54、ener(this);</p><p>  i23.addActionListener(this);</p><p>  about.addActionListener(this);</p><p>  item1.addActionListener(this);</p><p>  item2.addActionListener(this)

55、;</p><p>  item3.addActionListener(this);</p><p>  editor.addMouseListener(this);</p><p>  addWindowListener(new windowListener());</p><p><b>  4.3 事件處理</b>

56、;</p><p>  4.3.1 編輯區(qū)鍵盤事件處理</p><p>  /***************編輯區(qū)鍵盤事件******************/</p><p>  editor.addKeyListener( new KeyAdapter()</p><p>  {public void keyTyped(KeyEvent

57、 e){flag=1;}});</p><p><b>  } </b></p><p>  4.3.2 窗口事件處理</p><p>  /**************窗口監(jiān)聽器**************/ </p><p>  class windowListener extends WindowAdapter&

58、lt;/p><p>  { </p><p>  public void windowClosing(WindowEvent e)</p><p><b>  { </b></p><p>  if(flag==0)System.exit(0);</p>&

59、lt;p>  else close();</p><p><b>  }</b></p><p><b>  } </b></p><p>  4.3.3 菜單項事件處理</p><p>  /***************菜單項監(jiān)聽器****************/</p&

60、gt;<p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  Font f2=editor.getFont();</p><p>  JMenuItem mi=(JMenuItem) e.getSource();</p>

61、;<p>  if(mi==n) //新建</p><p><b>  { </b></p><p>  if(flag==0) editor.setText("");</p><p>  else close2(); </p&g

62、t;<p><b>  }</b></p><p>  if(mi==open) //打開</p><p>  {loadFile();}</p><p>  if(mi==save||mi==save_as) //保存和另存為</p><p>  {s

63、aveFile();}</p><p>  if(mi==exit) //退出</p><p>  {if(flag==0)System.exit(0); close();}</p><p>  if(mi==copy) //復(fù)制</p><p>  {

64、editor.copy();}</p><p>  if(mi==cut) //剪切</p><p>  {editor.cut();}</p><p>  if(mi==paste) //粘貼</p><p>  {editor.paste();}<

65、;/p><p>  if(mi==i11) //字體設(shè)置</p><p>  {editor.setFont(new java.awt.Font("宋體",java.awt.Font.PLAIN,f2.getSize()));}</p><p>  if(mi==i12)</p><

66、p>  {editor.setFont(new java.awt.Font("楷體",java.awt.Font.PLAIN,f2.getSize()));}</p><p>  if(mi==i13)</p><p>  {editor.setFont(new java.awt.Font("黑體",java.awt.Font.PLAIN,f2

67、.getSize()));}</p><p>  if(mi==i21) //字體顏色</p><p>  { editor.setForeground(Color.red); }</p><p>  if(mi==i22)</p><p>  {editor.setForeground(Color.b

68、lue);}</p><p>  if(mi==i23)</p><p>  {editor.setForeground(Color.green);}</p><p>  if(mi==about) //幫助菜單的關(guān)于</p><p><b>  {</b></p>&l

69、t;p>  String message = "----記事本----"</p><p>  + "由梁**指導(dǎo),***、**、**共同完成\n感謝您的使用!";</p><p>  JOptionPane.showMessageDialog(JM4.this, message, "關(guān)于...",JOptionPane.PL

70、AIN_MESSAGE);</p><p><b>  }</b></p><p>  /******彈出菜單********/</p><p>  if(mi==item1) //復(fù)制 </p><p>  {editor.copy();}</p><p> 

71、 if(mi==item2) //剪切</p><p>  {editor.cut();}</p><p>  if(mi==item3) //粘貼</p><p>  {editor.paste();}</p><p><b>  }</b></p><

72、;p>  4.3.4 編輯區(qū)的鼠標(biāo)事件事件處理</p><p>  /******編輯區(qū)的鼠標(biāo)事件*********/</p><p>  public void mouseReleased(MouseEvent e)</p><p><b>  {</b></p><p>  if(e.isPopupTrigg

73、er())</p><p>  pm.show(editor,e.getX(),e.getY());</p><p><b>  }</b></p><p>  public void mouseClicked(MouseEvent e){}</p><p>  public void mouseEntered(Mous

74、eEvent e){}</p><p>  public void mouseExited(MouseEvent e){}</p><p>  public void mousePressed(MouseEvent e){}</p><p>  public static void main (String[] args) { JM4 d=new JM4();}

75、}</p><p><b>  5 測試分析</b></p><p>  (1)程序運行界面如下:</p><p>  (2)“文件”菜單的菜單項:</p><p>  (3)“編輯”菜單的菜單項:</p><p>  (4)打開文件及另存文件時的界面:</p><p> 

76、 由于打開文件和另存文件都要尋找路徑,所以開始時界面相同。</p><p>  (5)打開了某一個文本文件是的截圖:</p><p>  (6)設(shè)置字體為黑體和顏色為藍色的截圖:</p><p>  (7)用彈出菜單實現(xiàn)復(fù)制、剪切、粘貼、的截圖:</p><p>  (8) 記事本關(guān)閉、退出或新建時的截圖:</p><p&

77、gt;  當(dāng)文件發(fā)生了剪切、刪除、粘貼等操作,或者在編輯區(qū)中輸入了字符,即文件進行了修改,當(dāng)點擊“文件”菜單中的“退出”“、新建”項或者點擊了窗口的關(guān)閉按鈕時,就會彈出一個“保存文件?”的對話框。如果文件沒有發(fā)生修改,關(guān)閉或者退出時,直接關(guān)閉了記事本程序。由于其他的操作在截圖里很難發(fā)現(xiàn)什么變化,所以只展示了上面的截圖。</p><p><b>  6 課程設(shè)計總結(jié)</b></p>

78、<p><b>  6.1 設(shè)計體會</b></p><p><b>  6.2 致謝</b></p><p><b>  參考文獻</b></p><p>  [1] 孫全黨,王吳迪,趙楓朝.Java程序設(shè)計應(yīng)用教程[M].北京:電子工業(yè)出版社,2006</p><

79、p>  [2] 雷之宇.Java項目開發(fā)實踐——網(wǎng)絡(luò)篇[M].北京:中國鐵道出版社,2005</p><p>  [3] 趙玉陽.Java從入門到精通[M].北京:清華大學(xué)出版社,2006 </p><p>  [4] 李龍怡.Java編程實例講解[M].北京:高等教育出版社,2005</p><p>  [5] 李尊朝,蘇軍.Java語言程序設(shè)計[M].北京

80、:中國鐵道出版社,2009</p><p><b>  附錄(源程序清單)</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.swing.*;</p><p>  i

81、mport java.io.*; </p><p>  public class JM extends JFrame</p><p><b>  { </b></p><p>  JMenuBar mb=new JMenuBar(); //定義一個菜單項</p><p>  /******定義各個菜單及其菜單項***

82、***/</p><p>  JMenu m1=new JMenu("文件(F)");</p><p>  JMenuItem n=new JMenuItem("新建");</p><p>  JMenuItem open=new JMenuItem("打開(O)... Ctrl+O");</p>

83、;<p>  JMenuItem save=new JMenuItem("保存(S)... Ctrl+S");</p><p>  JMenuItem save_as=new JMenuItem("另存為(A)...Ctrl+A");</p><p>  JMenuItem exit=new JMenuItem("退出&quo

84、t;);</p><p>  JMenu m2=new JMenu("編輯(E)");</p><p>  JMenuItem copy=new JMenuItem("復(fù)制(C) Ctrl+C");</p><p>  JMenuItem cut=new JMenuItem("剪切(X) Ctrl+X");

85、</p><p>  JMenuItem paste=new JMenuItem("粘貼(P) Ctrl+P");</p><p>  JMenu m3=new JMenu("格式(O)");</p><p>  JMenu f1=new JMenu("字體(F)");</p><p&

86、gt;  JMenuItem i11=new JMenuItem("宋體");</p><p>  JMenuItem i12=new JMenuItem("楷體");</p><p>  JMenuItem i13=new JMenuItem("黑體");</p><p>  JMenu color=ne

87、w JMenu("顏色(C)");</p><p>  JMenuItem i21=new JMenuItem("紅");</p><p>  JMenuItem i22=new JMenuItem("藍"); </p><p>  JMenuItem i23=new JMenuItem("綠&q

88、uot;);</p><p>  JMenu m4=new JMenu("幫助(H)");</p><p>  JMenuItem about=new JMenuItem("關(guān)于");</p><p>  /*****定義彈出菜單及其菜單項*****/</p><p>  JPopupMenu pm=n

89、ew JPopupMenu();</p><p>  JMenuItem item1=new JMenuItem("復(fù)制");</p><p>  JMenuItem item2=new JMenuItem("剪切");</p><p>  JMenuItem item3=new JMenuItem("粘貼"

90、;);</p><p>  /***********編輯區(qū)**********/ </p><p><b>  String s;</b></p><p>  Container c;</p><p>  JTextArea editor=new JTextArea(s);</p><p>  F

91、ont t=new Font("sanserif",Font.PLAIN,12);</p><p><b>  JM()</b></p><p><b>  {</b></p><p>  super("記事本");</p><p>  setSize(500

92、,400);</p><p>  try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}</p><p>  catch(Exception e){System.err.println("不能設(shè)置外觀的原因;"+e);}</p><p>  c = get

93、ContentPane();</p><p>  c.add(new JScrollPane(editor));</p><p>  addFileMenu();</p><p>  addEditMenu();</p><p>  addFormMenu();</p><p>  addHelpMenu();<

94、/p><p>  addJMenuBar();</p><p>  addJPopupMenu();</p><p>  setJMenuBar(mb);</p><p>  setVisible(true);</p><p>  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

95、;</p><p><b>  }</b></p><p>  private void addFileMenu()</p><p><b>  {</b></p><p>  m1.add(n);</p><p>  m1.add(open);</p><

96、;p>  m1.add(save);</p><p>  m1.add(save_as);</p><p>  m1.addSeparator();</p><p>  m1.add(exit);</p><p>  m1.setFont(t);</p><p><b>  }</b><

97、;/p><p>  private void addEditMenu()</p><p><b>  {</b></p><p>  m2.add(copy);</p><p>  m2.add(cut);</p><p>  m2.addSeparator();</p><p&g

98、t;  m2.add(paste);</p><p>  m2.setFont(t);</p><p><b>  }</b></p><p>  private void addFormMenu()</p><p><b>  {</b></p><p>  m3.add(

99、f1);</p><p>  m3.add(color);</p><p>  m3.setFont(t);</p><p>  f1.add(i11);</p><p>  f1.add(i12);</p><p>  f1.add(i13);</p><p>  color.add(i21)

100、;</p><p>  color.add(i22);</p><p>  color.add(i23);</p><p><b>  }</b></p><p>  private void addHelpMenu()</p><p><b>  {</b></p&g

101、t;<p>  m4.add(about);</p><p>  m4.setFont(t);</p><p><b>  }</b></p><p>  private void addJMenuBar()</p><p><b>  {</b></p><p&g

102、t;  mb.add(m1);</p><p>  mb.add(m2);</p><p>  mb.add(m3);</p><p>  mb.add(m4);</p><p>  mb.setBackground(Color.cyan);</p><p><b>  }</b></p&g

103、t;<p>  private void addJPopupMenu()</p><p><b>  {</b></p><p>  editor.add(pm);</p><p>  pm.add(item1);</p><p>  pm.add(item2);</p><p> 

104、 pm.add(item3);</p><p><b>  }</b></p><p>  public static void main(String arg[]){new JM();}</p><p><b>  }</b></p><p>  import java.io.*;</p&g

105、t;<p>  import java.awt.*;</p><p>  import javax.swing.*;</p><p>  import java.awt.event.*;</p><p>  import java.awt.Font.*;</p><p>  public class JM4 extends JM

106、 implements ActionListener,MouseListener</p><p><b>  { </b></p><p>  int flag=0;</p><p>  public JM4()</p><p><b>  {</b></p><p>  /

107、**********監(jiān)聽器接口**********/</p><p>  n.addActionListener(this);</p><p>  open.addActionListener(this);</p><p>  save.addActionListener(this);</p><p>  save_as.addActionL

108、istener(this);</p><p>  exit.addActionListener(this);</p><p>  copy.addActionListener(this);</p><p>  cut.addActionListener(this);</p><p>  paste.addActionListener(this

109、);</p><p>  i11.addActionListener(this);</p><p>  i12.addActionListener(this);</p><p>  i13.addActionListener(this);</p><p>  i21.addActionListener(this);</p>&l

110、t;p>  i22.addActionListener(this);</p><p>  i23.addActionListener(this);</p><p>  about.addActionListener(this);</p><p>  item1.addActionListener(this);</p><p>  ite

111、m2.addActionListener(this);</p><p>  item3.addActionListener(this);</p><p>  editor.addMouseListener(this);</p><p>  addWindowListener(new windowListener());</p><p>  /

112、***************編輯區(qū)鍵盤事件******************/</p><p>  editor.addKeyListener( new KeyAdapter()</p><p>  {public void keyTyped(KeyEvent e){flag=1;}});</p><p><b>  } </b></

113、p><p>  /**************窗口監(jiān)聽器**************/ </p><p>  class windowListener extends WindowAdapter</p><p>  { </p><p>  public void windowClosing(Wi

114、ndowEvent e)</p><p><b>  { </b></p><p>  if(flag==0)System.exit(0);</p><p>  else close();</p><p><b>  }</b></p><p><b>  }

115、 </b></p><p>  /***************菜單項監(jiān)聽器****************/</p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  Font f2=edito

116、r.getFont();</p><p>  JMenuItem mi=(JMenuItem) e.getSource();</p><p>  if(mi==n) //新建</p><p><b>  { </b></p><p>  if(flag==0) edito

117、r.setText("");</p><p>  else close2(); </p><p><b>  }</b></p><p>  if(mi==open) //打開</p><p>  {loadFile();}</p

118、><p>  if(mi==save||mi==save_as) //保存和另存為</p><p>  {saveFile();}</p><p>  if(mi==exit) //退出</p><p>  {if(flag==0)System.exit(0); close();}<

119、;/p><p>  if(mi==copy) //復(fù)制</p><p>  {editor.copy();}</p><p>  if(mi==cut) //剪切</p><p>  {editor.cut();}</p><p> 

120、 if(mi==paste) //粘貼</p><p>  {editor.paste();}</p><p>  if(mi==i11) //字體設(shè)置</p><p>  {editor.setFont(new java.awt.Font("宋體",jav

121、a.awt.Font.PLAIN,f2.getSize()));}</p><p>  if(mi==i12)</p><p>  {editor.setFont(new java.awt.Font("楷體",java.awt.Font.PLAIN,f2.getSize()));}</p><p>  if(mi==i13)</p>

122、<p>  {editor.setFont(new java.awt.Font("黑體",java.awt.Font.PLAIN,f2.getSize()));}</p><p>  if(mi==i21) //字體顏色</p><p>  { editor.setForeground(Color.red); }<

123、;/p><p>  if(mi==i22)</p><p>  {editor.setForeground(Color.blue);}</p><p>  if(mi==i23)</p><p>  {editor.setForeground(Color.green);}</p><p>  if(mi==about)

124、 //幫助菜單的關(guān)于</p><p><b>  {</b></p><p>  String message = "----記事本----"</p><p>  + "由**老師指導(dǎo),***、***、**共同完成\n感謝您的使用!";</p><p&g

125、t;  JOptionPane.showMessageDialog(JM4.this, message, "關(guān)于...",JOptionPane.PLAIN_MESSAGE);</p><p><b>  }</b></p><p>  /******彈出菜單********/</p><p>  if(mi==item1

126、) //復(fù)制 </p><p>  {editor.copy();}</p><p>  if(mi==item2) //剪切</p><p>  {editor.cut();}</p><p>  if(mi==item3) //粘貼</p>&

127、lt;p>  {editor.paste();}</p><p><b>  }</b></p><p>  /**********將文件讀入到編輯區(qū)***********/</p><p>  void loadFile()</p><p><b>  {</b></p>&l

128、t;p>  JFileChooser fc=new JFileChooser();</p><p>  int r=fc.showOpenDialog(this);</p><p>  if(r==JFileChooser.APPROVE_OPTION)</p><p><b>  {</b></p><p>  

129、File file=fc.getSelectedFile();</p><p>  try{editor.read(new FileReader(file),null);}</p><p>  catch(IOException e){}</p><p><b>  }</b></p><p><b>  }&

130、lt;/b></p><p>  /***********創(chuàng)建文件寫入器*************/</p><p>  void saveFile()</p><p><b>  {</b></p><p>  JFileChooser fc=new JFileChooser();</p><

131、p>  int r=fc.showSaveDialog(this);</p><p>  if(r==JFileChooser.APPROVE_OPTION)</p><p><b>  {</b></p><p>  File file=fc.getSelectedFile();</p><p>  try{ed

132、itor.write(new FileWriter(file));}</p><p>  catch(IOException e){}</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*********文件的關(guān)閉或退出************/&

溫馨提示

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

評論

0/150

提交評論