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

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  第1章 引言1</b></p><p><b>  1.1 背景1</b></p><p>  1.2 課程設(shè)計(jì)內(nèi)容1</p><p>  第2章 記事本系統(tǒng)3</p><p&

2、gt;  2.1 記事本概述3</p><p>  2.2 記事本的任務(wù)及目的3</p><p>  2.3 本章小結(jié)3</p><p>  第3章 記事本的設(shè)計(jì)4</p><p>  3.1 系統(tǒng)需求分析4</p><p>  3.2 系統(tǒng)開發(fā)及運(yùn)行環(huán)境4</p><p>  3.

3、3記事本總體結(jié)構(gòu)(流程圖)5</p><p>  3.4 記事本系統(tǒng)各模塊介紹5</p><p>  3.5 本章小結(jié)6</p><p>  第4章 系統(tǒng)的具體實(shí)現(xiàn)7</p><p><b>  4.1窗口設(shè)計(jì)7</b></p><p>  4.2程序功能設(shè)計(jì)及調(diào)試運(yùn)行8</p&

4、gt;<p>  4.2.1在下拉菜單中加入子菜單并進(jìn)行監(jiān)聽,分別實(shí)現(xiàn)對(duì)文件的操作功能。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同接口。9</p><p>  4.2.2加入工具欄的功能鍵,通過工具欄實(shí)現(xiàn)對(duì)文本的基本操作。11</p><p>  4.3 本章小結(jié)18</p><p>  第5章 改進(jìn)部分19</p><p>  5.1

5、加登陸界面19</p><p>  5.1.1登陸界面設(shè)計(jì)19</p><p>  5.1.2 系統(tǒng)主界面22</p><p>  第6章 結(jié)束語24</p><p><b>  附錄 源代碼27</b></p><p><b>  第1章 引言</b></p

6、><p><b>  1.1 背景</b></p><p>  在文本編輯器出現(xiàn)前,人們用打孔機(jī)把計(jì)算機(jī)文字打到穿孔卡片上。文字存放于一個(gè)裝著這樣的薄卡片的盒子里,可以用讀卡器來閱讀它。   </p><p>  第一個(gè)文本編輯器是一種行編輯器,它運(yùn)行在打字機(jī)型的終端上,這種編輯器并不具備在窗口和屏幕中顯示的功能。它包含了一些非常短的命令(為了減少

7、打字量)。其中一個(gè)命令能夠把文件的指定部分通過打字機(jī)打印出來。編輯光標(biāo)是想象中的一個(gè)插入點(diǎn),通過特殊命令,可以把它移動(dòng)到特定內(nèi)容字符串所在的行。隨后,內(nèi)容字符串又被擴(kuò)展成正則表達(dá)式。如果想看到文件的變化,你需要把它打印出來。相對(duì)于穿孔機(jī)來說,人們認(rèn)為這種基于行的文本編輯器具有革命性的進(jìn)步。如果沒有它,用戶就需要把那些處理文本的命令打成專用的卡片,并在編輯文件時(shí)使用這些卡片。   </p><p>  當(dāng)帶有顯示屏

8、的計(jì)算機(jī)終端出現(xiàn)后,基于顯示屏的文本編輯器開始流行起來。最早的全屏編輯器中,有一種叫做O26,它是于1967年為CDC 6000系列機(jī)器的操作控制臺(tái)而作的。另外一個(gè)早期的全屏編輯器是vi。vi誕生于20世紀(jì)70年代,至今,它仍是Unix和Linux的標(biāo)準(zhǔn)編輯器。全屏編輯器對(duì)視頻終端的銷售起到了促進(jìn)的作用。</p><p>  1.2 課程設(shè)計(jì)內(nèi)容</p><p>  記事本充分發(fā)揮文本編輯

9、的優(yōu)勢,通過各種操作的有機(jī)結(jié)合,實(shí)現(xiàn)文本編輯的各項(xiàng)所需功能。本程序的研究內(nèi)容涉及記事本功能實(shí)現(xiàn)的全過程。   該記事本功能包含以下內(nèi)容:</p><p> ?。?)打開文件,讀取文件中的文本信息:對(duì)原有文件可實(shí)行打開操作,并能讀取文件中的內(nèi)容,以方便對(duì)文件的查看,修改等任務(wù)。</p><p>  (2)顯示、編輯修改文本信息:記事本對(duì)文字信息的主要處理功能???/p>

10、對(duì)相關(guān)信息進(jìn)行復(fù)制,剪切,粘貼等操作。</p><p> ?。?)實(shí)現(xiàn)新建、保存文本文件:新建文本可以使用戶寫入新的信息,文件保存后再次打開仍可獲得原有信息。</p><p><b>  第2章 記事本系統(tǒng)</b></p><p><b>  2.1 記事本概述</b></p><p>  記事本是

11、一種只能處理純文本的文件。由于多種格式源代碼都是純文本的,所以記事本也就成為了使用最多的源代碼編輯器。它只具備最基本的編輯功能,所以體積小巧,啟動(dòng)快,占用內(nèi)存低,容易使用?!坝浭卤尽钡墓δ茈m然連“寫字板”都比不上,但它還是有它自己的獨(dú)門絕技的。下面我們就來看看記事本吧。相對(duì)于微軟的Word來說“記事本”的功能確實(shí)是太單薄了,只有:新建,保存,打印,查找,替換這幾個(gè)功能。但是“記事本”卻擁有一個(gè)Word不可能擁有的優(yōu)點(diǎn):打開速度快,文件小

12、。我相信對(duì)于這一點(diǎn)大家一定是深有感觸地,一點(diǎn)就打開;同樣的文本文件用Word保存和用記事本保存的文件大小就大不相同,所以對(duì)于大小在64KB以下的純文本的保存最好還是采用記事本。記事本另一項(xiàng)不可取代的功能是:可以保存無格式文件。你可以把記事本編輯的文件保存為:“.html”, “.java”,“.asp”等等任意格式。這使得“記事本”又找到了一個(gè)新的用途:作為程序語言的編輯器。翻開任何一本介紹一門編程語言的入門教材,里面都會(huì)建議學(xué)生在記事

13、本中編寫源程序。記事本使用的一個(gè)老竅門,在記事本文件的開頭輸入:“.LOG”之后你每次打開這個(gè)文件就會(huì)在自動(dòng)的紀(jì)</p><p>  2.2 記事本的任務(wù)及目的</p><p>  打開計(jì)算本窗口,在編輯區(qū)進(jìn)行文本的輸入,可以使用剪切、拷貝、粘貼等功能鍵,當(dāng)文本輸入完畢后點(diǎn)擊“文件”菜單,選擇下拉菜單中的“保存文本”打開“保存”窗口,選擇保存文件的根目錄進(jìn)行保存。當(dāng)需要關(guān)閉窗口時(shí)可通過“文

14、件”菜單下的“退出系統(tǒng)”選項(xiàng),或者選擇“工具欄”中的“退出系統(tǒng)”按鈕,也可以直接點(diǎn)擊窗口右上角的關(guān)閉圖標(biāo)進(jìn)行關(guān)閉。</p><p><b>  2.3 本章小結(jié)</b></p><p>  記事本是一種只能處理純文本的文件??梢酝ㄟ^菜單欄和工具欄實(shí)現(xiàn)以下功能:如文件的新建,打開,保存和退出;對(duì)文件的編輯,如復(fù)制,剪切,粘貼;以及幫助菜單;執(zhí)行完操作后,能夠順利關(guān)閉記事

15、本。</p><p>  第3章 記事本的設(shè)計(jì)</p><p>  這一章時(shí)進(jìn)銷存管理系統(tǒng)的設(shè)計(jì),從系統(tǒng)需求分析開始,介紹開發(fā)環(huán)境和用到的開發(fā)工具,系統(tǒng)主要的功能設(shè)計(jì),系統(tǒng)的數(shù)據(jù)流程圖。</p><p>  3.1 系統(tǒng)需求分析</p><p>  記事本的設(shè)計(jì)目標(biāo)為:</p><p>  打開計(jì)算本窗口,在編輯區(qū)進(jìn)行

16、文本的輸入,可以使用剪切、拷貝、粘貼等功能鍵,當(dāng)文本輸入完畢后點(diǎn)擊“文件”菜單,選擇下拉菜單中的“保存文本”打開“保存”窗口,選擇保存文件的根目錄進(jìn)行保存。當(dāng)需要關(guān)閉窗口時(shí)可通過“文件”菜單下的“退出系統(tǒng)”選項(xiàng),或者選擇“工具欄”中的“退出系統(tǒng)”按鈕,也可以直接點(diǎn)擊窗口右上角的關(guān)閉圖標(biāo)進(jìn)行關(guān)閉。 </p><p>  3.2記事本總體結(jié)構(gòu)(流程圖)&

17、lt;/p><p>  圖3.1 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  3.3 記事本系統(tǒng)各模塊介紹</p><p>  系統(tǒng)各功能模塊實(shí)現(xiàn)的功能為:</p><p>  新建記事本:在文件的下拉菜單中點(diǎn)擊新建文本或單擊工具欄中的新建文本,將文本刷新。</p><p>  打開原有的記事本:在文件的下拉菜單中點(diǎn)擊打開文本或

18、單擊工具欄中的打開文本,再選中原有的記事本,單擊打開按鈕,便將原有文本打開。</p><p>  拷貝:先選中需復(fù)制的文本,在編輯的下拉菜單中點(diǎn)擊拷貝或單擊工具欄中的拷貝,便將所選文本復(fù)制了。</p><p>  粘貼:在編輯的下拉菜單中點(diǎn)擊粘貼或單擊工具欄中的粘貼,便將所復(fù)制的文本粘貼到需粘貼的地方。</p><p>  剪貼:先選中需剪貼的文本,在編輯的下拉菜單

19、中點(diǎn)擊剪貼或單擊工具欄中的剪貼,便將所選文本剪貼了。</p><p>  保存:在文件的下拉菜單中點(diǎn)擊保存文本或單擊工具欄中的保存文本,便將改變的文本保存好。</p><p>  退出系統(tǒng):在文件的下拉菜單中點(diǎn)擊退出系統(tǒng)或單擊工具欄中的退出系統(tǒng),或直接點(diǎn)擊狀態(tài)欄中的,從而關(guān)閉文本。</p><p><b>  3.4 本章小結(jié)</b></

20、p><p>  本章介紹了該記事本的運(yùn)行環(huán)境,以及各功能的體現(xiàn)。</p><p>  第4章 系統(tǒng)的具體實(shí)現(xiàn)</p><p>  界面是系統(tǒng)之間最直接的交互界面,界面的友好性體現(xiàn)了軟件設(shè)計(jì)的質(zhì)量, 并在很大程度上決定了軟件是否成功。</p><p><b>  4.1窗口設(shè)計(jì)</b></p><p>

21、  在主接口中設(shè)計(jì)一個(gè)EditorDemo容器繼承自JFrame,并在其中加入菜單欄、工具欄和一個(gè)文本域控件。 </p><p>  public class EditorDemo extends JFrame</p><p>  JTextPane textPane = new JTextPane(); //創(chuàng)建文本窗格,編輯窗口</p><p>  JFile

22、Chooser filechooser = new JFileChooser(); //文件選擇器</p><p>  setJMenuBar(createJMenuBar(actions)); //設(shè)置菜單欄</p><p>  Container container = getContentPane(); //得到容器</p><p>  container.

23、add(createJToolBar(actions), BorderLayout.NORTH); //工具欄</p><p>  container.add(textPane, BorderLayout.CENTER); //增加文本窗格</p><p><b>  窗口設(shè)計(jì)流程圖:</b></p><p>  圖4.1 窗口模塊框圖<

24、/p><p>  4.2程序功能設(shè)計(jì)及調(diào)試運(yùn)行</p><p>  利用JSP“一次編寫,各處運(yùn)行”的編程優(yōu)點(diǎn),按功能模塊結(jié)構(gòu)設(shè)計(jì)菜單,布置各明細(xì)模塊工作界面,編寫各個(gè)模塊的程序代碼,進(jìn)行編譯連接運(yùn)行,經(jīng)過反復(fù)調(diào)試修改,以達(dá)到系統(tǒng)功能要求。這個(gè)過程具有大量的工作量,應(yīng)仔細(xì)對(duì)每個(gè)程序細(xì)節(jié)進(jìn)行分析思考、編寫程序并調(diào)試,做到程序簡潔清楚,盡量避免可能潛在的程序錯(cuò)誤,并在必要的地方加以注釋,以便于程序

25、閱讀和修改。</p><p>  4.2.1在下拉菜單中加入子菜單并進(jìn)行監(jiān)聽,分別實(shí)現(xiàn)對(duì)文件的操作功能。點(diǎn)擊不同菜單項(xiàng)時(shí),顯示不同接口。</p><p><b>  部分代碼:</b></p><p>  private JMenuBar createJMenuBar(Action[] actions) //創(chuàng)建菜單欄</p>

26、;<p>  JMenuBar menubar = new JMenuBar(); //實(shí)例化菜單欄</p><p>  JMenu menuFile = new JMenu("文件(F)"); //實(shí)例化菜單</p><p>  JMenu menuEdit = new JMenu("編輯(E)"

27、);</p><p>  JMenu menuFormat = new JMenu("格式(O)");</p><p>  JMenu menuFind = new JMenu("查找(V)");</p><p>  JMenu menuAbout = new JMenu("幫助(H)");</p&g

28、t;<p>  menuFile.add(new JMenuItem(actions[0])); //增加新菜單項(xiàng)</p><p>  menuFile.add(new JMenuItem(actions[1]));</p><p>  menuFile.add(new JMenuItem(actions[2]));</p><p> 

29、 menuFile.addSeparator();</p><p>  menuFile.add(new JMenuItem(actions[7]));</p><p>  menuEdit.add(new JMenuItem(actions[3]));</p><p>  menuEdit.add(new JMenuItem(actions[4]));</p

30、><p>  menuEdit.add(new JMenuItem(actions[5]));</p><p>  menuAbout.add(new JMenuItem(actions[6]));</p><p>  menubar.add(menuFile); //增加菜單</p><p>  m

31、enubar.add(menuEdit);</p><p>  menubar.add(menuFormat);</p><p>  menubar.add(menuFind);</p><p>  menubar.add(menuAbout);</p><p>  return menubar;

32、 //返回菜單欄</p><p>  實(shí)現(xiàn)對(duì)文件的操作功能流程圖:</p><p>  圖4.2 實(shí)現(xiàn)操作功能框圖</p><p><b>  如下圖:</b></p><p>  圖4.2.1 文件菜單功能生成界面</p><p>  圖4.2.2編輯菜單功能生成界面</p

33、><p>  圖4.2.3 幫助菜單功能生成界面</p><p>  4.2.2加入工具欄的功能鍵,通過工具欄實(shí)現(xiàn)對(duì)文本的基本操作。</p><p><b>  關(guān)鍵代碼:</b></p><p>  Action[] actions = //Action數(shù)組,各種操作命令</p><p>  ne

34、w NewAction(),</p><p>  new OpenAction(),</p><p>  new SaveAction(),</p><p>  new CutAction(),</p><p>  new CopyAction(),</p><p>  new PasteAction(),</p

35、><p>  new AboutAction(),</p><p>  new ExitAction(),</p><p>  private JToolBar createJToolBar(Action[] actions) //創(chuàng)建工具條</p><p>  JToolBar toolBar = new JToolBar(); //實(shí)例化工具

36、條 </p><p>  JButton bt = new JButton(actions[i]); //實(shí)例化新的按鈕</p><p>  toolBar.add(bt); //增加按鈕到工具欄</p><p><b>  如圖所示:</b></p><p>  4.2.3對(duì)每個(gè)菜單項(xiàng)進(jìn)行注冊監(jiān)聽。點(diǎn)擊不同功能鍵時(shí),

37、實(shí)現(xiàn)不同的操作,顯示不同的窗口。</p><p>  主要實(shí)現(xiàn)方法代碼如下:</p><p>  class NewAction extends AbstractAction { //實(shí)現(xiàn)新建文件命令功能</p><p>  public NewAction() {</p><p>  super("新建文本");<

38、/p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  textPane.setDocument(new DefaultStyledDocument()); //清空文檔</p><p><b>  }&

39、lt;/b></p><p><b>  }</b></p><p>  class OpenAction extends AbstractAction { //實(shí)現(xiàn)打開文件命令功能</p><p>  public OpenAction() {</p><p>  super("打開文本");

40、</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  int i = filechooser.showOpenDialog(EditorDemo.this); </p><p>  //顯示打開文件對(duì)話框

41、</p><p>  if (i == JFileChooser.APPROVE_OPTION) { //點(diǎn)擊對(duì)話框中打開選項(xiàng)</p><p>  File f = filechooser.getSelectedFile(); //得到選擇的文件</p><p><b>  try {</b></p><p>  Inp

42、utStream is = new FileInputStream(f); //得到文件輸入流</p><p>  textPane.read(is, "d"); //讀入文件到文本窗格</p><p>  } catch (Exception ex) {</p><p>  ex.printStackTrace(); //輸出出錯(cuò)信息<

43、/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  如下圖:</b></p

44、><p>  圖4.2.4 打開文件生成界面</p><p>  class SaveAction extends AbstractAction { //實(shí)現(xiàn)保存文本命令</p><p>  public SaveAction() {</p><p>  super("保存文本");}</p><p>

45、;  public void actionPerformed(ActionEvent e) {</p><p>  int i = filechooser.showSaveDialog(EditorDemo.this); </p><p>  //顯示保存文件對(duì)話框</p><p>  if (i == JFileChooser.APPROVE_OPTION) {

46、 //點(diǎn)擊對(duì)話框中保存按鈕</p><p>  File f = filechooser.getSelectedFile(); //得到選擇的文件</p><p><b>  try {</b></p><p>  FileOutputStream out = new FileOutputStream(f); </p><

47、p><b>  //得到文件輸出流</b></p><p>  out.write(textPane.getText().getBytes()); //寫出文件</p><p>  } catch (Exception ex) {</p><p>  ex.printStackTrace(); //輸出出錯(cuò)信息}}}}</p>

48、;<p><b>  如下圖:</b></p><p>  圖4.3.1 保存文件生成界面</p><p>  class ExitAction extends AbstractAction { //實(shí)現(xiàn)退出命令</p><p>  public ExitAction() {</p><p>  super

49、("退出系統(tǒng)");}</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  System.exit(0); //退出程序}}</p><p>  class CutAction extends AbstractAction { //實(shí)現(xiàn)剪切命令</p>

50、<p>  public CutAction() {</p><p>  super("剪切");}</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  textPane.cut(); //調(diào)用文本窗格的剪切命令}}</p><p>

51、  class CopyAction extends AbstractAction { //實(shí)現(xiàn)拷貝命令</p><p>  public CopyAction() {</p><p>  super("拷貝");}</p><p>  public void actionPerformed(ActionEvent e) </p>

52、<p>  {textPane.copy(); //調(diào)用文本窗格的拷貝命令</p><p>  class PasteAction extends AbstractAction { //實(shí)現(xiàn)粘貼命令</p><p>  public PasteAction() {</p><p>  super("粘貼");}</p>

53、<p>  public void actionPerformed(ActionEvent e) {</p><p>  textPane.paste(); //調(diào)用文本窗格的粘貼命令}}</p><p>  class AboutAction extends AbstractAction { //關(guān)于版本命令</p><p>  public Ab

54、outAction() {</p><p>  super("版本");}</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  String str="記事本\n\版本:1.0\n \n主要功能:實(shí)現(xiàn)簡單文本編輯。 </p><p> 

55、 JOptionPane.showMessageDialog(EditorDemo.this, str); //顯示軟件信息</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  如下圖:</b></p><p>  圖4.

56、2.5 顯示版本界面生成圖</p><p>  類向?qū)У裙δ堋5谝淮螁?dòng)時(shí)提示設(shè)置JavaJDK主目錄及JDKJavaDoc目錄,軟件自動(dòng)設(shè)置好類路徑、編譯器及解釋器路徑,還可以在幫助菜單中使用JDKHelp。</p><p>  4.2.5 系統(tǒng)調(diào)試分析</p><p><b>  1:窗口調(diào)試</b></p><p>

57、;  確定主窗體,設(shè)置主窗體的屬性,對(duì)窗體進(jìn)行布局,加入所需控件并對(duì)控件進(jìn)行初始化。在完成所有方法的源代碼編輯后,對(duì)程序進(jìn)行編譯、運(yùn)行!會(huì)出現(xiàn)窗體如下圖:</p><p>  圖4.2.6 編譯運(yùn)行程序生成界面</p><p><b>  2:功能調(diào)試</b></p><p>  對(duì)所有菜單項(xiàng)進(jìn)行注冊監(jiān)聽。在編寫觸發(fā)事件時(shí)執(zhí)行各項(xiàng)操作,包括了一

58、些常用部分的事件處理,實(shí)現(xiàn)各功能鍵的操作。例如 當(dāng)點(diǎn)擊“文件“按鈕是顯示如下窗口:</p><p>  圖4.2.7 文件按鈕實(shí)現(xiàn)生成界面</p><p>  當(dāng)需要打開已存在的文件時(shí),點(diǎn)擊“打開文本”按鈕會(huì)出現(xiàn)如下窗口: </p><p>  圖4.2.8 打開文件按鈕實(shí)現(xiàn)生成界面</p><p>  當(dāng)輸入完文本是要保存的話,點(diǎn)擊“保存文

59、本”會(huì)出現(xiàn)下面的窗口:</p><p>  圖4.2.9 輸入文本界面 圖4.2.10 保存文本界面</p><p>  依次調(diào)試其他功能鍵及窗口,直至達(dá)到符合要求的能實(shí)現(xiàn)簡易的記事本的功能!</p><p><b>  4.3 本章小結(jié)</b></p><p>  本章介紹了系統(tǒng)的具體

60、實(shí)現(xiàn)和部分關(guān)鍵代碼,其中包括如何實(shí)現(xiàn)新建文件,打開文件,保存文件,退出系統(tǒng)以及剪切,拷貝,粘貼等具體操作。</p><p><b>  第5章 改進(jìn)部分</b></p><p><b>  5.1加登陸界面 </b></p><p>  5.1.1登陸界面設(shè)計(jì)</p><p>  用戶登陸界面圖如圖

61、如圖5.1.1和圖5.1.2所示:</p><p>  圖5.1.1 用戶登錄模塊框圖</p><p>  圖5.1.2 用戶登陸界面</p><p>  LoginIn的作用是檢測用戶登陸的合法性,并確認(rèn)用戶輸入了合法的登錄名和口令</p><p><b>  部分代碼:</b></p><p&g

62、t;  class LoginIn extends JFrame {</p><p>  EditorDemo edit;</p><p>  LoginIn login;</p><p>  JTextField f1;</p><p>  JTextField f2;</p><p>  JButton b1;&l

63、t;/p><p>  JButton b2;</p><p>  String power;// 表示權(quán)限</p><p>  String imgePath = "e:/workspace/GUI/14.gif";</p><p>  JPanel p5;</p><p>  Image img =

64、Toolkit.getDefaultToolkit().createImage(imgePath);</p><p>  LoginIn(EditorDemo edit) {</p><p>  this.edit = edit;</p><p>  login = this;</p><p>  Container cp = getCont

65、entPane();</p><p>  Label l1 = new Label("用戶:");</p><p>  Label l2 = new Label("密碼:");</p><p>  JPanel p1 = new JPanel();</p><p>  JPanel p2 = new J

66、Panel();</p><p>  JPanel p3 = new JPanel();</p><p>  JPanel p4 = new JPanel();</p><p>  p5 = new JPanel() {</p><p>  protected void paintChildren(Graphics g) {</p>

67、;<p>  g.drawImage(img, 0, 0, this);</p><p>  super.paintChildren(g);</p><p><b>  }</b></p><p><b>  };</b></p><p>  f1 = new JTextField(1

68、5);</p><p>  f2 = new JPasswordField(15);</p><p>  b1 = new JButton("登錄");</p><p>  b2 = new JButton("重置");</p><p>  p1.setBackground(Color.orange);

69、</p><p>  p2.add(l1);</p><p>  p2.add(f1);</p><p>  p2.setBorder(new MatteBorder(0, 0, 0, 0, Color.BLACK));</p><p>  p2.setBackground(Color.ORANGE);</p><p>

70、;  p3.add(l2);</p><p>  p3.add(f2);</p><p>  p3.setBackground(Color.ORANGE);</p><p>  p3.setBorder(new MatteBorder(0, 0, 0, 0, Color.BLACK));</p><p>  p4.add(b1);</p

71、><p>  p4.add(b2);</p><p>  p4.setBorder(new MatteBorder(-3, -3, -3, -3, Color.CYAN));</p><p>  p4.setBackground(Color.ORANGE);</p><p>  p5.setLayout(new FlowLayout(FlowLa

72、yout.CENTER, 20, 20));</p><p>  p5.add(p2);</p><p>  p5.add(p3);</p><p>  p5.add(p4);</p><p>  cp.add(p5, BorderLayout.CENTER);</p><p>  b1.addActionListen

73、er(new Enter());</p><p>  b2.addActionListener(new ReWrite());</p><p>  addWindowListener(new winClose());</p><p><b>  }</b></p><p>  class Enter implements

74、 ActionListener {</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if ((f1.getText()).equals("admin") && (f2.getText()).equals("123")) {</p><

75、p>  JOptionPane.showMessageDialog(null, "登錄成功!用戶權(quán)限是adimistrator");</p><p>  power = "adminstrator";</p><p>  login.setVisible(false);</p><p>  edit.setVisible

76、(true);</p><p>  } else if ((f1.getText()).equals("snake")</p><p>  && (f2.getText()).equals("123456")) {</p><p>  JOptionPane.showMessageDialog(null, &q

77、uot;登錄成功!登錄成功!用戶權(quán)限是user");</p><p>  power = "adminstrator";</p><p><b>  } else</b></p><p>  JOptionPane.showMessageDialog(null, "登錄失敗,請重新登錄!");&

78、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p>  class ReWrite implements ActionListener {</p><p>  public void actionPerformed(ActionEvent e) {<

79、/p><p>  f1.setText("");</p><p>  f2.setText("");</p><p>  f1.requestFocus();</p><p><b>  }</b></p><p><b>  }</b>&

80、lt;/p><p>  class winClose extends WindowAdapter {</p><p>  public void windowClosing(WindowEvent e) {</p><p>  (e.getWindow()).dispose();</p><p>  System.exit(0);</p&g

81、t;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  5.1.2 系統(tǒng)主界面</p><p><b>  登陸成功界面:</b></p><

82、p>  圖5.2登陸成功界面</p><p>  登陸成功后彈出記事本界面:</p><p>  圖5.2 系統(tǒng)主界面</p><p><b>  第6章 結(jié)束語</b></p><p>  由于計(jì)算機(jī)的普及,各行業(yè)、各單位都有計(jì)算機(jī)軟件系統(tǒng)的應(yīng)用。該程序所體現(xiàn)的記事本功能為相關(guān)記事本的操作和管理帶來諸多方便,提高

83、了工作效率。</p><p>  本課程設(shè)計(jì)的記事本通過在JAVA平臺(tái)編譯、運(yùn)行源代碼,打開計(jì)算本窗口,在編輯區(qū)進(jìn)行文本的輸入,可以使用剪切、拷貝、粘貼等功能鍵,當(dāng)文本輸入完畢后點(diǎn)擊“文件”菜單,選擇下拉菜單中的“保存文本”打開“保存”窗口,選擇保存文件的根目錄進(jìn)行保存。當(dāng)需要關(guān)閉窗口時(shí)可通過“文件”菜單下的“退出系統(tǒng)”選項(xiàng),或者選擇“工具欄”中的“退出系統(tǒng)”按鈕,也可以直接點(diǎn)擊窗口右上角的關(guān)閉圖標(biāo)進(jìn)行關(guān)閉。&l

84、t;/p><p>  經(jīng)過java記事本的課程設(shè)計(jì),收獲到了很多,加深了對(duì)Java語言的理論知識(shí)的理解;更加熟練的掌握了Java語言的設(shè)計(jì)能力并且有了實(shí)踐經(jīng)驗(yàn);在設(shè)計(jì)過程中,學(xué)到了許多在課堂上沒有教授的知識(shí);加強(qiáng)了對(duì)Java語言的學(xué)習(xí)興趣和好感。</p><p><b>  附錄 源代碼</b></p><p><b>  程序源代碼:&

85、lt;/b></p><p><b>  //記事本</b></p><p>  import java.awt.BorderLayout;</p><p>  import java.awt.Color;</p><p>  import java.awt.Container;</p><p&

86、gt;  import java.awt.FlowLayout;</p><p>  import java.awt.Font;</p><p>  import java.awt.Graphics;</p><p>  import java.awt.Image;</p><p>  import java.awt.Label;</p

87、><p>  import java.awt.Toolkit;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.awt.event.WindowAdapter;<

88、;/p><p>  import java.awt.event.WindowEvent;</p><p>  import java.io.File;</p><p>  import java.io.FileInputStream;</p><p>  import java.io.FileOutputStream;</p>&l

89、t;p>  import java.io.InputStream;</p><p>  import javax.swing.AbstractAction;</p><p>  import javax.swing.Action;</p><p>  import javax.swing.JButton;</p><p>  impor

90、t javax.swing.JFileChooser;</p><p>  import javax.swing.JFrame;</p><p>  import javax.swing.JLabel;</p><p>  import javax.swing.JMenu;</p><p>  import javax.swing.JMenu

91、Bar;</p><p>  import javax.swing.JMenuItem;</p><p>  import javax.swing.JOptionPane;</p><p>  import javax.swing.JPanel;</p><p>  import javax.swing.JPasswordField;<

92、/p><p>  import javax.swing.JTextField;</p><p>  import javax.swing.JTextPane;</p><p>  import javax.swing.JToolBar;</p><p>  import javax.swing.border.MatteBorder;</p&

93、gt;<p>  import javax.swing.text.DefaultEditorKit.CopyAction;</p><p>  import javax.swing.text.DefaultEditorKit.CutAction;</p><p>  import javax.swing.text.DefaultEditorKit.PasteAction;&l

94、t;/p><p>  import javax.swing.text.DefaultStyledDocument;</p><p>  public class EditorDemo extends JFrame {</p><p>  JTextPane textPane = new JTextPane(); // 文本窗格,編輯窗口</p><p

95、>  JLabel statusBar = new JLabel(); // 狀態(tài)欄</p><p>  JFileChooser filechooser = new JFileChooser(); // 文件選擇器</p><p>  public EditorDemo() { // 構(gòu)造函數(shù)</p><p>  super("簡易記事本"

96、;); // 調(diào)用父類構(gòu)造函數(shù)</p><p>  Action[] actions = // Action數(shù)組,各種操作命令</p><p>  { new NewAction(), new OpenAction(), new SaveAction(), new CutAction(),</p><p>  new CopyAction(), new PasteA

97、ction(), new AboutAction(),</p><p>  new ExitAction(), };</p><p>  setJMenuBar(createJMenuBar(actions)); // 設(shè)置菜單欄</p><p>  Container container = getContentPane(); // 得到容器</p>

98、<p>  container.add(createJToolBar(actions), BorderLayout.NORTH); // 增加工具欄</p><p>  container.add(textPane, BorderLayout.CENTER); // 增加文本窗格</p><p>  container.add(statusBar, BorderLayout.S

99、OUTH); // 增加狀態(tài)欄</p><p>  setSize(500, 400); // 設(shè)置窗口尺寸</p><p>  //setVisible(true); // 設(shè)置窗口可視</p><p>  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 關(guān)閉窗口時(shí)退出程序</p><p

100、><b>  }</b></p><p>  private JMenuBar createJMenuBar(Action[] actions) { // 創(chuàng)建菜單欄</p><p>  JMenuBar menubar = new JMenuBar(); // 實(shí)例化菜單欄</p><p>  JMenu menuFile = new

101、JMenu("文件(F)"); // 實(shí)例化菜單</p><p>  JMenu menuEdit = new JMenu("編輯(E)");</p><p>  JMenu menuFormat = new JMenu("格式(O)");</p><p>  JMenu menuFind = new JM

102、enu("查找(V)");</p><p>  JMenu menuAbout = new JMenu("幫助(H)");</p><p>  menuFile.add(new JMenuItem(actions[0])); // 增加新菜單項(xiàng)</p><p>  menuFile.add(new JMenuItem(acti

103、ons[1]));</p><p>  menuFile.add(new JMenuItem(actions[2]));</p><p>  menuFile.addSeparator();</p><p>  menuFile.add(new JMenuItem(actions[7]));</p><p>  menuEdit.add(ne

104、w JMenuItem(actions[3]));</p><p>  menuEdit.add(new JMenuItem(actions[4]));</p><p>  menuEdit.add(new JMenuItem(actions[5]));</p><p>  menuAbout.add(new JMenuItem(actions[6]));</

105、p><p>  menubar.add(menuFile); // 增加菜單</p><p>  menubar.add(menuEdit);</p><p>  menubar.add(menuFormat);</p><p>  menubar.add(menuFind);</p><p>  menubar.add(

106、menuAbout);</p><p>  return menubar; // 返回菜單欄</p><p><b>  }</b></p><p>  private JToolBar createJToolBar(Action[] actions) { // 創(chuàng)建工具條</p><p>  JToolBar tool

107、Bar = new JToolBar(); // 實(shí)例化工具條</p><p>  for (int i = 0; i < actions.length; i++) {</p><p>  JButton bt = new JButton(actions[i]); // 實(shí)例化新的按鈕</p><p>  bt.setRequestFocusEnabled(f

108、alse); // 設(shè)置不需要焦點(diǎn)</p><p>  bt.setFont(new Font("宋體", Font.PLAIN, 12));</p><p>  bt.setBackground(Color.pink);</p><p>  toolBar.add(bt); // 增加按鈕到工具欄</p><p><

109、;b>  }</b></p><p>  return toolBar; // 返回工具欄</p><p><b>  }</b></p><p>  class NewAction extends AbstractAction { // 新建文件命令</p><p>  public NewActio

110、n() {</p><p>  super("新建文本");</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  textPane.setDocument(new DefaultSty

111、ledDocument()); // 清空文檔</p><p><b>  }</b></p><p><b>  }</b></p><p>  class OpenAction extends AbstractAction { // 打開文件命令</p><p>  public OpenAct

112、ion() {</p><p>  super("打開文本");</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  int i = filechooser.showOpenDialo

113、g(EditorDemo.this); // 顯示打開文件對(duì)話框</p><p>  if (i == JFileChooser.APPROVE_OPTION) { // 點(diǎn)擊對(duì)話框中打開選項(xiàng)</p><p>  File f = filechooser.getSelectedFile(); // 得到選擇的文件</p><p><b>  try {&l

114、t;/b></p><p>  InputStream is = new FileInputStream(f); // 得到文件輸入流</p><p>  textPane.read(is, "d"); // 讀入文件到文本窗格</p><p>  } catch (Exception ex) {</p><p> 

115、 ex.printStackTrace(); // 輸出出錯(cuò)信息</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><

116、p>  class SaveAction extends AbstractAction { // 保存命令</p><p>  public SaveAction() {</p><p>  super("保存文本");</p><p><b>  }</b></p><p>  public

117、void actionPerformed(ActionEvent e) {</p><p>  int i = filechooser.showSaveDialog(EditorDemo.this); // 顯示保存文件對(duì)話框</p><p>  if (i == JFileChooser.APPROVE_OPTION) { // 點(diǎn)擊對(duì)話框中保存按鈕</p><p&g

118、t;  File f = filechooser.getSelectedFile(); // 得到選擇的文件</p><p><b>  try {</b></p><p>  FileOutputStream out = new FileOutputStream(f); // 得到文件輸出流</p><p>  out.write(textP

119、ane.getText().getBytes()); // 寫出文件</p><p>  } catch (Exception ex) {</p><p>  ex.printStackTrace(); // 輸出出錯(cuò)信息</p><p><b>  }</b></p><p><b>  }</b>

120、;</p><p><b>  }</b></p><p><b>  }</b></p><p>  class ExitAction extends AbstractAction { // 退出命令</p><p>  public ExitAction() {</p><p

121、>  super("退出系統(tǒng)");</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  System.exit(0); // 退出程序</p><p><b>  }&

122、lt;/b></p><p><b>  }</b></p><p>  class CutAction extends AbstractAction { // 剪切命令</p><p>  public CutAction() {</p><p>  super("剪切");</p>

123、;<p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  textPane.cut(); // 調(diào)用文本窗格的剪切命令</p><p><b>  }</b></p><p>&l

124、t;b>  }</b></p><p>  class CopyAction extends AbstractAction { // 拷貝命令</p><p>  public CopyAction() {</p><p>  super("拷貝");</p><p><b>  }</b

125、></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  textPane.copy(); // 調(diào)用文本窗格的拷貝命令</p><p><b>  }</b></p><p><b>  }</b></p>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論