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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  《面向對象程序設計》</p><p><b>  課程設計報告</b></p><p><b>  計算機與信息工程系</b></p><p>  二0一三 年六月十二 日</p><p><b>  目錄</b></p><p>

2、  1.課程設計目的...................................................3</p><p>  2.設計框架.........................................................3</p><p>  3.案例分析..........................................

3、...............4</p><p>  程序清單.........................................................6</p><p>  程序運行效果................................................9</p><p>  6.設計心得............

4、............................................10</p><p>  7.參考文獻.........................................................11</p><p><b>  1.課程設計目的</b></p><p>  在當今的信息時代,越來越多

5、的聊天工具被應用 ,Java語言是當今流行的網絡編程語言,它具有面向對象、與平臺無關、安全、多線程 等特點。使用Java語言不僅可以實現(xiàn)大型企業(yè)級的分布式應用系統(tǒng),還能夠為小型的、嵌入 式設備進行應用程序的開發(fā)。面向對象的開發(fā)方法是當今世界最流行的開發(fā)方法,它不僅具有更貼近自然的語義,而且有利于軟件的維護和繼承。</p><p>  此次課程設計的題目為簡單的聊天對話框,通過鞏固所學Java語言基本知識,增進Ja

6、va語言編輯基本功,掌握JDK、JCreator等開發(fā)工具的運用,拓寬常用類庫的應用。使我們通過該教學環(huán)節(jié)與手段,把所學課程及相關知識加以融會貫通,全面掌握Java語言的編程思想及面向對象程序設計的方法,為今后從事實際工作打下堅實的基礎。</p><p><b>  設計框架的形成</b></p><p>  設計一個簡單的聊天對話框,單擊“清除”按鈕,則消息輸入文本

7、框中的信息清除掉;單擊“發(fā)送”按鈕,則把消息發(fā)送到信息顯示框中。</p><p><b>  3.實例分析;</b></p><p> ?。?.)通過匿名類實現(xiàn)</p><p>  可以通過匿名類實現(xiàn)“清除”按鈕的事件監(jiān)聽,在actionPerformed方法中,當單擊按鈕時進行相應的處理。本例中直接調用消息輸入框(jtaInput)的setT

8、ext方法,設置輸入框的文本為空,以達到清除輸入框中已輸入文本的目的,代碼如下所示。</p><p>  jbClear.addActionListener(new ActionListener(){</p><p>  public void actionPerformed(ActionEvent e){</p><p>  jtaInput.setText(&q

9、uot;");</p><p><b>  }</b></p><p><b>  });</b></p><p> ?。?.)通過Action實現(xiàn)</p><p>  在“發(fā)送”按鈕的事件處理中,通過設置其行為(Action)來實現(xiàn)。首先,需要定義一個</p><p&

10、gt;  Action,實現(xiàn)其actionPerformed方法。本例中,發(fā)生事件時能通過調用自定義的sendMessage方法來發(fā)送消息。</p><p>  對于“發(fā)送”按鈕,可調用setAction方法設置有按鈕事件發(fā)生時的行為,代碼如下所示。</p><p>  Action sendMessage=new AbstractAction(){</p><p>

11、;  public void actionPerformed(ActionEvent e){</p><p>  sendMessage();</p><p><b>  }</b></p><p><b>  };</b></p><p>  jbSend.setAction(sendMessag

12、e);</p><p> ?。?.)處理鍵盤事件</p><p>  設置文本輸入框在用戶按下“Enter”鍵時發(fā)出消息,代碼如下所示。</p><p>  jtaInput.getInputMap().put(KeyStroke.getKeyStroke</p><p>  ("ENTER"),"send&qu

13、ot;);</p><p>  jtaInput.getActionMap().put("send",sendMessage);</p><p> ?。╝)調用getInputMap方法得到輸入框的InputMap,再用該InputMap的put方法實現(xiàn)鍵盤的綁定,具體可參見InputMap類的使用說明。本例中,綁定的鍵為“Enter“鍵。</p><

14、;p>  (b) 調用getActionMap方法得到輸入框的ActionMap,再用ActionMap的put方法設置輸入框的行為,這里為調用sendMessage的Action。</p><p> ?。?.)組件的相互控制</p><p>  在sendMessage方法中,調用聊天信息顯示框的insert方法插入最新收到的信息。本例中,從名字輸入框和消息輸入框中得到該信息。實際

15、程序中應結合網絡編程,從不同的主機得到。最后用setText方法傳入空的字符串來清空用戶輸入的消息。代碼如下所示。</p><p>  private void replaceMessage(){</p><p>  String message=jtfName.getText()+"> "+jtaInput.getText()+"\n";&l

16、t;/p><p>  jtaChat.insert(message,jtaChat.getDocument().getLength()); </p><p><b>  4.程序清單:</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;<

17、;/p><p>  import javax.swing.*;</p><p>  public class ActionDemo extends JFrame {</p><p>  JTextField jtfName;</p><p>  JTextArea jtaChat;</p><p>  JTextArea

18、jtaInput;</p><p>  JButton jbSend;</p><p>  JButton jbClear;</p><p>  public ActionDemo(){</p><p>  super ("控件的相互控制");</p><p>  Container contain

19、er=this.getContentPane();</p><p>  JPanel p=new JPanel();</p><p>  jtfName=new JTextField(10);</p><p>  p.add(new JLabel("主題:Write once,Run Anywhere."));</p><p&

20、gt;  p.add(new JLabel("昵稱"));</p><p>  p.add(jtfName);</p><p>  container.add(p,BorderLayout.NORTH);</p><p>  jtaChat=new JTextArea();</p><p>  container.add(

21、new JScrollPane(jtaChat),BorderLayout.CENTER);</p><p>  Box box=new Box(BoxLayout.X_AXIS);</p><p>  jtaInput=new JTextArea(3,20);</p><p>  jbSend=new JButton();</p><p>

22、  jbClear=new JButton();</p><p>  jbClear.setText("清除");</p><p>  box.add(new JScrollPane(jtaInput));</p><p>  box.add(jbClear);</p><p>  box.add(jbSend);<

23、/p><p>  container.add(box,BorderLayout.SOUTH);</p><p>  jbClear.addActionListener(new ActionListener(){</p><p>  public void actionPerformed(ActionEvent e){</p><p>  jtaI

24、nput.setText("");</p><p><b>  }</b></p><p><b>  });</b></p><p>  Action sendMessage=new AbstractAction(){</p><p>  public void actionP

25、erformed(ActionEvent e){</p><p>  replaceMessage();</p><p><b>  }</b></p><p><b>  };</b></p><p>  jtaInput.getInputMap().put(KeyStroke.getKeyStr

26、oke</p><p>  ("ENTER"),"send");</p><p>  jtaInput.getActionMap().put("send",sendMessage);</p><p>  jbSend.setAction(sendMessage);</p><p> 

27、 jbSend.setText("發(fā)送");</p><p>  this.setSize(400,200);</p><p>  this.setVisible(true);</p><p>  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p>&l

28、t;b>  }</b></p><p>  private void replaceMessage(){</p><p>  String message=jtfName.getText()+"> "+jtaInput.getText()+"\n";</p><p>  jtaChat.insert(m

29、essage,jtaChat.getDocument().getLength());</p><p>  jtaInput.setText("");</p><p><b>  }</b></p><p>  public static void main(String[] args){</p><p&g

30、t;  new ActionDemo();</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.程序運行效果如圖所示</p><p>  單擊“發(fā)送”按鈕,則把消息發(fā)送到信息顯示框中。</p><p>  單擊“清除”按鈕,

31、則消息輸入文本框中的信息清除掉;</p><p><b>  6.設計心得</b></p><p>  我花費了近一個多星期的時間,查閱了許多相關的資料,終于把這個Java聊天對話框程序基本實現(xiàn)了。在設計的過程中了解到自己的知識還是比較有限,回顧起此次java設計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在整整一星期日子里,可以說的上是苦多于甜,但是可以學

32、到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正掌握這門技術,也提高了自己的獨立思考的能力。在設計的過程中遇到問題,可以說得上是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解

33、得不夠深刻,掌握得不夠牢固,通過這次課程設計之后,一定把以前所學過的知識重新溫故。</p><p>  通過此次課程設計,將我本學期所學的JAVA知識得到鞏固和應用,在設計的過程中我遇到了很到問題,不過在老師和同學們的幫助和自己的思考下還是很好的完成了。這此課程設計還讓我懂得了寫程序不能閉門造車,要努力拓寬知識面,開闊視野,拓展思維。它還讓我學會了在網上查閱那些無限的資料。讓我不僅學會了書本上的知識,還讓自己能夠

34、面對困難并且克服它。</p><p><b>  7.參考文獻</b></p><p>  [1]張思民,梁維娜.Java程序設計實踐教程[M].北京:清華大學出版社2006.8:1-21</p><p>  [2] 葉核亞.JAVA2程序設計實用教程[M](第2版).北京:電子工業(yè)出版社;2008.4.</p><p>

溫馨提示

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

評論

0/150

提交評論