java課程設(shè)計(jì)報(bào)告--java桌面應(yīng)用程序設(shè)計(jì)開發(fā)_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計(jì)</p><p><b>  資 料 袋</b></p><p>  學(xué)生姓名 專業(yè)班級 學(xué)號 </p><p>  題 目 JAVA桌面應(yīng)用程序設(shè)計(jì)開發(fā) </p&

2、gt;<p>  成 績 起止日期 2012 年 06月 20 日 ~ 2012 年 07 月 01 日</p><p>  目 錄 清 單</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  2010 —2011 學(xué)年第2學(xué)期</p>

3、<p>  課程名稱: JAVA面向?qū)ο蟪绦蛟O(shè)計(jì) </p><p>  設(shè)計(jì)題目: JAVA桌面應(yīng)用程序設(shè)計(jì)開發(fā) </p><p>  完成期限:自 2012 年 06 月 2

4、0 日至 2012 年 07月 01 日共 2 周</p><p>  指導(dǎo)教師(簽字): 年 月 日</p><p>  系(教研室)主任(簽字): 年 月 日</p><p>  項(xiàng)目一:名片管理

5、系統(tǒng)</p><p>  項(xiàng)目內(nèi)容、要求:實(shí)現(xiàn)名片的添加,和查看功能</p><p><b>  任務(wù)及需求分析:</b></p><p>  名片管理系統(tǒng)界面布局設(shè)計(jì);</p><p>  各種功能的代碼實(shí)現(xiàn);</p><p>  運(yùn)行測試程序,調(diào)試糾正運(yùn)行錯(cuò)誤;</p><

6、p>  調(diào)試無誤,運(yùn)行,測試具體編輯功能;</p><p>  功能模塊設(shè)計(jì):新建一個(gè)java圖形化界面,用代碼實(shí)現(xiàn)簡單的名片添加和查看的功能;</p><p>  名片管理系統(tǒng)的模塊設(shè)計(jì)圖如下:</p><p>  1:首先在swing界面中新建一個(gè)如圖所示的窗體:</p><p>  其中,將要實(shí)現(xiàn)單選的單選按鈕放在同一個(gè)按鈕組中;

7、</p><p><b>  然后,寫功能事件,</b></p><p><b>  2.清空事件:</b></p><p>  在from對應(yīng)的類中新建一個(gè)清空的clearAll()方法如下:</p><p>  public void clearAll() {</p><p&

8、gt;  this.jTextFieldAddress.setText("");</p><p>  this.jTextFieldPhone.setText(null);</p><p>  this.jTextFieldName.setText(null);</p><p>  this.jTextFieldEmail.setText(nul

9、l);</p><p>  this.jCheckBoxDance.setSelected(false);</p><p>  this.jCheckBoxChat.setSelected(false);</p><p>  this.jCheckBoxSing.setSelected(false);</p><p>  this.jChec

10、kBoxBasketball.setSelected(false);</p><p>  this.jCheckBoxFootball.setSelected(false);</p><p>  this.jCheckBoxVolleyball.setSelected(false);</p><p>  this.jRadioButtonBachelor.setSe

11、lected(false);</p><p>  this.jRadioButtonDoctor.setSelected(false);</p><p>  this.jRadioButtonMaster.setSelected(false);</p><p>  this.jRadioButtonOther.setSelected(false);</p>

12、;<p><b>  }</b></p><p>  之后在按鈕事件中調(diào)用上面的方法,寫上下面的代碼:</p><p>  clearAll();</p><p>  愛好,學(xué)歷選擇事件:</p><p>  在愛好按鈕事件中調(diào)用卡式布局中的愛好面板并顯示出來寫上如下代碼:</p><p

13、>  jPanelFavor.setVisible(true);</p><p>  在學(xué)歷選擇事件中調(diào)用卡式布局中的學(xué)歷面板并顯示出來寫上如下代碼:</p><p>  jPanelDegree.setVisible(true);</p><p><b>  添加事件:</b></p><p>  在主類中實(shí)例化

14、兩個(gè)類,并導(dǎo)包,代碼如下:</p><p>  import java.util.*;//其中包含Vector和Hashtable兩個(gè)集合</p><p>  Vector vectorListCard = new Vector();//新建集合對象</p><p>  Hashtable hashCardInfo = new Hashtable();//新建集合對

15、象</p><p>  在同包下新建一個(gè)類用來映射Swing控件的屬性及狀態(tài):命名為CardInfo,新建成員變量,代碼如下:</p><p>  private String name;</p><p>  private String address;</p><p>  private String phone;</p>

16、<p>  private String email;</p><p>  private boolean singState;</p><p>  private boolean danceState;</p><p>  private boolean chatState;</p><p>  private boolean f

17、ootBallState;</p><p>  private boolean baskeBallState;</p><p>  private boolean volleyBallState;</p><p>  private boolean bachelorState;</p><p>  private boolean master

18、State;</p><p>  private boolean doctorState;</p><p>  private boolean otherState;</p><p>  并設(shè)置get and set方法:略</p><p>  在窗體類中新建getCardInfo方法用來獲取Swing控件中的屬性及狀態(tài),代碼如下:</

19、p><p>  public CardInfo getCardInfo() {</p><p>  CardInfo cardInfo = new CardInfo();</p><p>  cardInfo.setName(this.jTextFieldName.getText());</p><p>  cardInfo.setAddress

20、(this.jTextFieldAddress.getText());</p><p>  cardInfo.setPhone(this.jTextFieldPhone.getText());</p><p>  cardInfo.setEmail(this.jTextFieldEmail.getText());</p><p>  cardInfo.setSing

21、State(this.jCheckBoxSing.isSelected());</p><p>  cardInfo.setChatState(this.jCheckBoxChat.isSelected());</p><p>  cardInfo.setDanceState(this.jCheckBoxDance.isSelected());</p><p>  

22、cardInfo.setFootBallState(this.jCheckBoxFootball.isSelected());</p><p>  cardInfo.setVolleyBallState(this.jCheckBoxVolleyball.isSelected());</p><p>  cardInfo.setBaskeBallState(this.jCheckBoxBas

23、ketball.isSelected());</p><p>  cardInfo.setBachelorState(this.jRadioButtonBachelor.isSelected());</p><p>  cardInfo.setDoctorState(this.jRadioButtonDoctor.isSelected());</p><p>  c

24、ardInfo.setMasterState(this.jRadioButtonMaster.isSelected());</p><p>  cardInfo.setOtherState(this.jRadioButtonOther.isSelected());</p><p>  return cardInfo;</p><p><b>  }<

25、/b></p><p>  在添加按鈕事件中寫上如下代碼:</p><p>  CardInfo cardInfo = this.getCardInfo();</p><p>  hashCardInfo.put(cardInfo.getName(), cardInfo);</p><p>  vectorListCard.add(ca

26、rdInfo.getName());</p><p>  this.jListCardList.setListData(vectorListCard);</p><p>  this.clearAll();</p><p><b>  添加新名片事件:</b></p><p>  在窗體類中新建setState方法,代碼

27、如下:</p><p>  public void setState(boolean flag) {</p><p>  this.jListCardList.setEnabled(!flag);</p><p>  this.jTextFieldAddress.setEditable(flag);</p><p>  this.jTextF

28、ieldPhone.setEditable(flag);</p><p>  this.jTextFieldName.setEditable(flag);</p><p>  this.jTextFieldEmail.setEditable(flag);</p><p>  this.jButtonAdd.setEnabled(flag);</p>&

29、lt;p>  this.jButtonDelete.setEnabled(flag);</p><p>  this.jCheckBoxDance.setEnabled(flag);</p><p>  this.jCheckBoxChat.setEnabled(flag);</p><p>  this.jCheckBoxSing.setEnabled(fl

30、ag);</p><p>  this.jCheckBoxBasketball.setEnabled(flag);</p><p>  this.jCheckBoxFootball.setEnabled(flag);</p><p>  this.jCheckBoxVolleyball.setEnabled(flag);</p><p>  

31、this.jRadioButtonBachelor.setEnabled(flag);</p><p>  this.jRadioButtonDoctor.setEnabled(flag);</p><p>  this.jRadioButtonMaster.setEnabled(flag);</p><p>  this.jRadioButtonOther.set

32、Enabled(flag);</p><p><b>  }</b></p><p>  在添加新名片按鈕事件中寫上如下代碼:</p><p>  setState(true);</p><p>  clearAll();</p><p><b>  查看已有名片事件:</b>

33、;</p><p>  在窗體類中新建getCardInfo方法,代碼如下:</p><p>  public CardInfo getCardInfo() {</p><p>  CardInfo cardInfo = new CardInfo();</p><p>  cardInfo.setName(this.jTextFieldNam

34、e.getText());</p><p>  cardInfo.setAddress(this.jTextFieldAddress.getText());</p><p>  cardInfo.setPhone(this.jTextFieldPhone.getText());</p><p>  cardInfo.setEmail(this.jTextFieldE

35、mail.getText());</p><p>  cardInfo.setSingState(this.jCheckBoxSing.isSelected());</p><p>  cardInfo.setChatState(this.jCheckBoxChat.isSelected());</p><p>  cardInfo.setDanceState(th

36、is.jCheckBoxDance.isSelected());</p><p>  cardInfo.setFootBallState(this.jCheckBoxFootball.isSelected());</p><p>  cardInfo.setVolleyBallState(this.jCheckBoxVolleyball.isSelected());</p>

37、<p>  cardInfo.setBaskeBallState(this.jCheckBoxBasketball.isSelected());</p><p>  cardInfo.setBachelorState(this.jRadioButtonBachelor.isSelected());</p><p>  cardInfo.setDoctorState(this.jR

38、adioButtonDoctor.isSelected());</p><p>  cardInfo.setMasterState(this.jRadioButtonMaster.isSelected());</p><p>  cardInfo.setOtherState(this.jRadioButtonOther.isSelected());</p><p>

39、  return cardInfo;</p><p><b>  }</b></p><p>  在查看已有名片事件中寫上如下代碼:</p><p>  setState(false);</p><p>  在名片列表事件中寫上如下代碼:</p><p>  String selectedCard

40、Name = (String) jListCardList.getSelectedValue();</p><p>  CardInfo cardInfo=(CardInfo) hashCardInfo.get(selectedCardName);</p><p>  this.setCardInfo(cardInfo);</p><p>  其實(shí),在每一個(gè)功能完成

41、之后都應(yīng)該測試的,當(dāng)然做完之后還得測試,測試結(jié)果如下:</p><p>  點(diǎn)擊添加新名片,可輸入名片的信息:</p><p>  點(diǎn)擊清空:將清空你之前的操作</p><p><b>  點(diǎn)擊添加:</b></p><p>  名片列表中就多了一項(xiàng)。</p><p>  點(diǎn)擊查看已有名片:右邊變

42、成不可編輯</p><p>  再點(diǎn)擊名片列表中的姓名:顯示名片信息,但不可編輯。</p><p>  項(xiàng)目二:瀏覽打開特定的文件</p><p>  新建一個(gè)java窗體:如圖</p><p>  2.在java窗體類中并行新建兩個(gè)類,代碼如下:</p><p>  class TxtFliter extends F

43、ileFilter {</p><p>  boolean flag;</p><p>  public boolean accept(File file) {</p><p>  if (file.getName().toLowerCase().endsWith(".txt")) {</p><p>  flag = t

44、rue;</p><p>  } else if (file.isDirectory()) {</p><p>  flag = true;</p><p><b>  } else {</b></p><p>  flag = false;</p><p><b>  }</b&

45、gt;</p><p>  return flag;</p><p><b>  }</b></p><p>  public String getDescription() {</p><p>  return "TXT文件";</p><p><b>  }<

46、;/b></p><p><b>  }</b></p><p>  class javaFliter extends FileFilter {</p><p>  boolean flag;</p><p>  public boolean accept(File file) {</p><p

47、>  if (file.getName().toLowerCase().endsWith(".java")) {</p><p>  flag = true;</p><p>  } else if (file.isDirectory()) {</p><p>  flag = true;</p><p><b

48、>  } else {</b></p><p>  flag = false;</p><p><b>  }</b></p><p>  return flag;</p><p><b>  }</b></p><p>  public String ge

49、tDescription() {</p><p>  return "java文件";</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.在主類中導(dǎo)入一下幾個(gè)包:</p><p>  import ja

50、va.io.*;</p><p>  import javax.swing.filechooser.*;</p><p>  import javax.swing.*;</p><p>  4.在打開按鈕事件中寫上如下代碼:</p><p>  fileChooser.showOpenDialog(this);</p><

51、p>  File selectFile=fileChooser.getSelectedFile();</p><p>  if(selectFile==null)</p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(this,"你沒有選擇要打開的文件!"

52、;,"提示:",JOptionPane.INFORMATION_MESSAGE);</p><p><b>  return; </b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>

53、  {</b></p><p>  int choose=JOptionPane.showConfirmDialog(this,"你確定要打開該文件嗎","請確認(rèn)", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);</p><p>  if(choose==JOption

54、Pane.NO_OPTION)</p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(this,"你取消了打開文件!","提示:",JOptionPane.INFORMATION_MESSAGE);</p><p><b>  r

55、eturn;</b></p><p><b>  }else</b></p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  int

56、 size=(int)selectFile.length();</p><p>  byte[] tempArray=new byte[size];</p><p>  FileInputStream fin=new FileInputStream(selectFile);</p><p>  fin.read(tempArray);</p><

57、p>  String tempString=new String(tempArray);</p><p>  this.jTextArea1.setText(tempString); </p><p><b>  }</b></p><p>  catch(IOException e)</p&

58、gt;<p><b>  {</b></p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  測試項(xiàng)目:如下效果</b><

59、/p><p><b>  點(diǎn)擊打開:</b></p><p>  但只能打開java和txt文件,下面可以選擇java文件或txt文件</p><p><b>  單擊打開想過如下:</b></p><p><b>  單擊否效果如下:</b></p><p&g

溫馨提示

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

評論

0/150

提交評論