版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)---java程序設(shè)計(jì)
- java課程設(shè)計(jì)--java程序設(shè)計(jì)
- 《java程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- java程序設(shè)計(jì)課程設(shè)計(jì)研究報(bào)告
- java程序設(shè)計(jì)與開發(fā)技術(shù)課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告---計(jì)算器應(yīng)用程序?qū)嶒?yàn)報(bào)告
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)---java日歷
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)java日歷
- java課程設(shè)計(jì)--- 記事本程序設(shè)計(jì)
- java程序設(shè)計(jì)課程論文
- java課程設(shè)計(jì)-- 實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序
- java課程設(shè)計(jì)--實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序
- java語言課程設(shè)計(jì)---記事本程序設(shè)計(jì)
- 用uml設(shè)計(jì)java應(yīng)用程序
- JAVA程序設(shè)計(jì)報(bào)告.doc
- java程序設(shè)計(jì)
- 《java程序設(shè)計(jì)》課程網(wǎng)站建設(shè)【開題報(bào)告】
- java課程設(shè)計(jì)報(bào)告--聊天小程序
- 基于java的教師檔案管理系統(tǒng)的設(shè)計(jì)-java程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告書
評論
0/150
提交評論