【課程設(shè)計(jì)報(bào)告】基于JAVA GUI的投票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

上傳人:仙*** 文檔編號(hào):28290674 上傳時(shí)間:2021-08-25 格式:DOC 頁(yè)數(shù):25 大?。?79KB
收藏 版權(quán)申訴 舉報(bào) 下載
【課程設(shè)計(jì)報(bào)告】基于JAVA GUI的投票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
第1頁(yè) / 共25頁(yè)
【課程設(shè)計(jì)報(bào)告】基于JAVA GUI的投票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
第2頁(yè) / 共25頁(yè)
【課程設(shè)計(jì)報(bào)告】基于JAVA GUI的投票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
第3頁(yè) / 共25頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《【課程設(shè)計(jì)報(bào)告】基于JAVA GUI的投票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《【課程設(shè)計(jì)報(bào)告】基于JAVA GUI的投票管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(25頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、更多計(jì)算機(jī)類(lèi)課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、論文請(qǐng)?jiān)L問(wèn):課程設(shè)計(jì)(論文)任務(wù)書(shū) 軟 件 學(xué) 院 學(xué)院 09軟件工程+會(huì)計(jì)學(xué) 專(zhuān)業(yè) 2 班 一、課程設(shè)計(jì)(論文)題目 簡(jiǎn)單投票管理系統(tǒng)(小應(yīng)用程序Applet) 二、課程設(shè)計(jì)(論文)工作自 2010 年 12 月 20 日起至 2010 年 12 月 24 日止。三、課程設(shè)計(jì)(論文) 地點(diǎn): 軟 件 學(xué) 院 實(shí) 訓(xùn) 中 心 四、課程設(shè)計(jì)(論文)內(nèi)容要求:1本課程設(shè)計(jì)的目的(1)掌握J(rèn)ava語(yǔ)言的程序設(shè)計(jì)方法; (2)理論聯(lián)系實(shí)際,進(jìn)一步提高學(xué)生的軟件開(kāi)發(fā)技術(shù);(3)培養(yǎng)學(xué)生分析、解決問(wèn)題的能力;(4)提高學(xué)生實(shí)踐論文撰寫(xiě)能力。2課程設(shè)計(jì)的任務(wù)及要求1)課程設(shè)計(jì)

2、任務(wù):設(shè)計(jì)一個(gè)投票管理系統(tǒng)。2)創(chuàng)新要求:(1)新增背景音樂(lè)(2)新增程序的“使用說(shuō)明”(3)在輸入候選人之前選項(xiàng)框和部分功能鍵被禁用,防止亂點(diǎn)導(dǎo)致統(tǒng)計(jì)結(jié)果有誤(4)新增保存結(jié)果功能(5)新增版權(quán)所屬標(biāo)簽3)課程設(shè)計(jì)論文編寫(xiě)要求(1)課程設(shè)計(jì)任務(wù)及要求(2)設(shè)計(jì)思路-工作原理、功能規(guī)劃(3)詳細(xì)設(shè)計(jì)-數(shù)據(jù)分析、算法思路、類(lèi)設(shè)計(jì)、功能實(shí)現(xiàn)(含程序流程圖、主要代碼及注釋?zhuān)?、界面等。?)運(yùn)行調(diào)試與分析討論-給出運(yùn)行屏幕截圖,分析運(yùn)行結(jié)果,有何改進(jìn)想法等。(5)設(shè)計(jì)體會(huì)與小結(jié)-設(shè)計(jì)遇到的問(wèn)題及解決辦法,通過(guò)設(shè)計(jì)學(xué)到了哪些新知識(shí),鞏固了哪些知識(shí),有哪些提高。(6)參考文獻(xiàn)(必須按標(biāo)準(zhǔn)格式列出,可參考教

3、材后面的參考文獻(xiàn)格式)(7)報(bào)告按規(guī)定排版打印,要求裝訂平整,否則要求返工;(8)課設(shè)報(bào)告的裝訂順序如下:封面-任務(wù)書(shū)-中文摘要-目錄-正文-附錄(代碼及相關(guān)圖片)(9)嚴(yán)禁抄襲,如有發(fā)現(xiàn),按不及格處理。4)課程設(shè)計(jì)評(píng)分標(biāo)準(zhǔn): (1)學(xué)習(xí)態(tài)度:10分;(2)系統(tǒng)設(shè)計(jì):20分;(3)編程調(diào)試:20分;(4)回答問(wèn)題:20分;(5)論文撰寫(xiě):30分。5)參考文獻(xiàn):(1)丁振凡. Java語(yǔ)言實(shí)用教程(第2版)M. 北京郵電大學(xué)出版社. 2008.1 (2)丁振凡. Java語(yǔ)言實(shí)用教程實(shí)驗(yàn)指導(dǎo)(第2版)M. 北京郵電大學(xué)出版社. 2008.1(3)楊樹(shù)林等. Java語(yǔ)言最新實(shí)用案例教程(第2版)

4、M. 清華大學(xué)出版社. 2010.76)課程設(shè)計(jì)進(jìn)度安排1準(zhǔn)備階段(4學(xué)時(shí)):選擇設(shè)計(jì)題目、了解設(shè)計(jì)目的要求、查閱相關(guān)資料2程序模塊設(shè)計(jì)分析階段(4學(xué)時(shí)):程序總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)3代碼編寫(xiě)調(diào)試階段(8學(xué)時(shí)):程序模塊代碼編寫(xiě)、調(diào)試、測(cè)試4撰寫(xiě)論文階段(4學(xué)時(shí)):總結(jié)課程設(shè)計(jì)任務(wù)和設(shè)計(jì)內(nèi)容,撰寫(xiě)課程設(shè)計(jì)論文學(xué)生簽名: 2010 年 12 月 20 日課程設(shè)計(jì)(論文)評(píng)審意見(jiàn)(1)學(xué)習(xí)態(tài)度(10分):優(yōu)()、良()、中()、一般()、差(); (2)系統(tǒng)設(shè)計(jì)(20分):優(yōu)( )、良()、中()、一般()、差(); (3)編程調(diào)試(20分):優(yōu)()、良()、中()、一般()、差();(4)回答問(wèn)題(

5、20分):優(yōu)()、良()、中()、一般()、差();(5)論文撰寫(xiě)(30分):優(yōu)()、良()、中()、一般()、差(); 評(píng)閱人: 職稱(chēng): 講師 2010 年 12 月 25 日目錄一、課程設(shè)計(jì)任務(wù)及要求1二、需求分析2三、設(shè)計(jì)思路3四、詳細(xì)設(shè)計(jì)6五、運(yùn)行調(diào)試與分析討論15六、設(shè)計(jì)體會(huì)與小結(jié)19七、參考文獻(xiàn)20一、課程設(shè)計(jì)任務(wù)及要求 設(shè)計(jì)一個(gè)如圖1所示的投票管理系統(tǒng)界面,要求輸入候選人名單后,點(diǎn)擊確認(rèn)按鈕實(shí)現(xiàn)使用選擇框代表候選人,計(jì)選擇框的名字就是候選人的名字。點(diǎn)擊取消按鈕候選人輸入框?yàn)榭?,重新輸入候選人名單。選中候選人的選擇框時(shí),表示給該候選人投一票。點(diǎn)擊確定按鈕時(shí)表示產(chǎn)生一張選票。點(diǎn)擊刷新

6、按鈕回到程序的初始界面重新設(shè)置候選人。根據(jù)選擇框的狀態(tài)變化統(tǒng)計(jì)出候選人的最后得票數(shù),并可按票選取多少點(diǎn)擊排序按鈕對(duì)候選人進(jìn)行排序。(其中,最多從候選人中選取3人,如果一張選票選取多于3人,該票就作廢票處理。如果一個(gè)也沒(méi)投票,就作棄權(quán)處理。程序能顯示一共統(tǒng)計(jì)了多少選票,并能統(tǒng)計(jì)出廢票和棄權(quán)票的票數(shù)。 圖1 二、需求分析本程序主要需要掌握窗口的布局和按鈕事件的觸發(fā)相關(guān)知識(shí),所有部件都可以添加到面板Panel上,顯示提示信息需要用到標(biāo)簽Label,輸入框需要新建TextField,按鈕用Button,選票需要新建Checkbox復(fù)選框來(lái)實(shí)現(xiàn),至于下面那個(gè)用來(lái)顯示各個(gè)候選人得票數(shù)的要先新建文本框Tex

7、tField添加到一個(gè)小面板上,再新建個(gè)Scroll滾動(dòng)條,將建有文本框的面板添加到Scroll滾動(dòng)條上就可以了。為了做出這個(gè)界面還需要對(duì)各個(gè)部件進(jìn)行擺放,為了達(dá)到那個(gè)效果,可以將整個(gè)界面分成很多個(gè)小塊,每一小塊都是個(gè)面板,最后再拼接起來(lái),每個(gè)小塊都設(shè)置好布局setLayout,在這里主要用到網(wǎng)格布局GridLayout,流式布局FlowLayout和BorderLayout方位布局,設(shè)置面板的顏色可以用setBackground()來(lái)實(shí)現(xiàn)。做好界面后,接下來(lái)就需要去實(shí)現(xiàn)各個(gè)功能了。因?yàn)楦鱾€(gè)功能都是通過(guò)按鈕來(lái)實(shí)現(xiàn)的,所以要對(duì)按鈕進(jìn)行注冊(cè)監(jiān)聽(tīng)addActionlistener(),監(jiān)聽(tīng)之后就是對(duì)

8、按鈕事件的處理了actionPerformed(ActionEvent e)。要一個(gè)字符串中的人名,可以用StringTokenizer字符串分析器來(lái)獲取候選人的名字,其中還要用到里面的一些方法,比如nextToken()、hasMoreTokens()、countTokens()。還有setEnabled()方法可以設(shè)置按鈕是否可用,setState(boolean)可以設(shè)置復(fù)選框是否激活,在文本框或文本域中輸出和獲取信息可以分別用setText()和getText(),根據(jù)候選人數(shù)將多余的復(fù)選框去掉,可以讓設(shè)置多余的為不可見(jiàn)setVilible(flase)這樣就行了。對(duì)于附加功能如背景音

9、樂(lè),可以用AudioClip接口、public void play()控制播放、public void loop()實(shí)現(xiàn)循環(huán)播放、public void stop()停止播放當(dāng)前音樂(lè)、使用說(shuō)明和保存結(jié)果都是需要通過(guò)新建Franme窗體實(shí)現(xiàn)的。三、設(shè)計(jì)思路一拿到這個(gè)題目我就構(gòu)思好了大概的方向,那就是先制作主界面,然后再實(shí)現(xiàn)各個(gè)按鈕的功能。界面設(shè)計(jì)時(shí),先定義好各個(gè)部件:標(biāo)簽Label、文本框TextFiled、按鈕Button、復(fù)選框Checkbox、Scroll滾動(dòng)條,我把整個(gè)界面分成很多個(gè)小面板,每一行部件都在一個(gè)小面板上面,最后將這些小面板一個(gè)個(gè)添加上去add(),像流式布局FlowLayo

10、ut、方位布局BorderLayout、網(wǎng)格布局GridLayout主要是用到了這三種布局,中間那幾塊面板通過(guò)setBackground()將其背景色改為綠色。經(jīng)過(guò)不斷修改測(cè)試運(yùn)行,一個(gè)投票系統(tǒng)的主界面就做出來(lái)了。接下來(lái)就是對(duì)各個(gè)功能的實(shí)現(xiàn)了,定義幾個(gè)類(lèi)變量來(lái)記錄投票相關(guān)記錄如:Checkbox candidate /選擇框數(shù)組,代表候選人TextField personvote /文本條數(shù)組,顯示每個(gè)人的得票情況int count /記錄每個(gè)人的得票數(shù)int totalvote=0, /總票數(shù)int peoplenumber=0; /候選人個(gè)數(shù)int count1=0,invalidated

11、Ticket=0,abstention=0; /分別表示選的人數(shù),廢票數(shù),棄權(quán)票數(shù) 對(duì)各個(gè)按鈕進(jìn)行注冊(cè)監(jiān)聽(tīng)addActionListener()在輸入候選人名單時(shí)是輸入一串名字,所以要從這一串名字中單個(gè)的提取出來(lái)并統(tǒng)計(jì)出候選人個(gè)數(shù),在完成這項(xiàng)功能時(shí)要用到StringTokenizer類(lèi)。 String g=canditate.getText();/獲取輸入的候選人StringTokenizer st=new StringTokenizer(g);/字符串分析器peoplenumble=st.countTokens();/統(tǒng)計(jì)候選人數(shù)int i=0;while(st.hasMoreTokens(

12、)candidatelisti=st.nextToken();i+;/獲取語(yǔ)言符號(hào)(候選人名單)點(diǎn)擊確認(rèn)按鈕后,根據(jù)候選人個(gè)數(shù)添加單選按鈕,并以候選人名字作為單選按鈕的標(biāo)簽名。for(int j=0;j10;j+) candidatej.setLabel(candidatelistj);/將候選人名單添加到復(fù)選框里將多余的選框設(shè)置為不可見(jiàn)for(int j=peoplenumble;j10;j+)candidatej.setVisible(false)點(diǎn)擊“取消”的話輸入候選人的文本框?yàn)榭眨藭r(shí)可以重新輸入,點(diǎn)擊下面“確定”則統(tǒng)計(jì)選了多少人并通過(guò)這個(gè)判斷是廢票還是棄權(quán),然后分別給候選人增加票數(shù)

13、并輸出相應(yīng)的信息; for(int j=0;j3) invalidatedTicket+;/選的人數(shù)超過(guò)3個(gè)則選票作廢if(count10)for(int j=0;jpeoplenumble;j+)if(candidatej.getState() countj+;/統(tǒng)計(jì)候選人所得票數(shù)out.setText(已經(jīng)統(tǒng)計(jì)了:+totalvote+張選票,其中棄權(quán)票:+abstention+作廢票:+invalidatedTicket);/輸出統(tǒng)計(jì)結(jié)果 for(int j=0;jpeoplenumble;j+) personvotej.setText(+candidatelistj+得票數(shù):+coun

14、tj);/輸出各個(gè)候選人得票數(shù)點(diǎn)擊“排序”則比較各個(gè)候選人的票數(shù)由高到低進(jìn)行排序for(int j=0;jpeoplenumble;j+)for(int i=j+1;ipeoplenumble;i+)if(countjcounti)m=countj;countj=counti;counti=m;n=candidatelistj;candidatelistj=candidatelisti;candidatelisti=n;/按得票數(shù)由多到少進(jìn)行排序“刷新”按鈕通過(guò)清空所有文本框中的數(shù)據(jù),所有變量變?yōu)槌跏蓟?;“使用說(shuō)明”通過(guò)彈出Frame窗體來(lái)實(shí)現(xiàn),在該窗體中新建了幾個(gè)文本框TextFeild和

15、Scroll滾輪用來(lái)顯示幫助信息。“保存結(jié)果”也是通過(guò)彈出Franme窗體,窗體里面有個(gè)文本域TextArea,用來(lái)輸出統(tǒng)計(jì)的結(jié)果,在文本域中,用戶(hù)可以復(fù)制里面的內(nèi)容然后保存在其他文件中。最后說(shuō)下背景音樂(lè)的實(shí)現(xiàn),通過(guò)添加AudioClip接口來(lái)實(shí)現(xiàn)AudioClip music;/播放音樂(lè)music=getAudioClip(getCodeBase(),瘦瘦的-梁靜茹.mid);public void start()/循環(huán)播放音樂(lè)music.loop();public void stop()/結(jié)束播放music.stop();四、詳細(xì)設(shè)計(jì)import java.io.*;import java

16、.awt.*;import java.util.*;import java.applet.*;import java.awt.event.*;import javax.swing.*; public class 投票管理系統(tǒng) extends Applet implements ActionListenerAudioClip music;/播放音樂(lè)Label hint,result,notice,banquan;TextField canditate;/輸入候選人文本框TextField out;/顯示選舉結(jié)果的文本框Button confirm1,cancle,confirm2,refresh

17、,sort;/分別表示確認(rèn)、取消、確定、刷新、排序Button help;/使用說(shuō)明Button save;/保存統(tǒng)計(jì)結(jié)果Checkbox candidate=new Checkbox10;/選擇框數(shù)組,代表候選人TextField t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;TextField personvote=t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;/文本條數(shù)組,顯示每個(gè)人的得票情況String candidatelist=new String10;/候選人名單int count=0,0,0,0,0,0,0,0,0,0;/記錄每個(gè)人的得票數(shù)int

18、 totalvote=0;/總票數(shù)int peoplenumble=0;/候選人個(gè)數(shù)int count1=0,invalidatedTicket=0,abstention=0; /分別表示選的人數(shù),廢票數(shù),棄權(quán)票數(shù)public void init()music=getAudioClip(getCodeBase(),瘦瘦的-梁靜茹.mid);hint=new Label(首先輸入候選人的名字(人數(shù)不超過(guò)10,名字之間用空格分隔):);notice=new Label(用下面的選擇框統(tǒng)計(jì)選票(最多選3人):);result=new Label(選舉結(jié)果:);banquan=new Label(版權(quán)

19、所屬:09軟件工程+會(huì)計(jì)學(xué)2班 祝捷);canditate=new TextField(50);confirm1=new Button(確認(rèn));cancle=new Button(取消);confirm2=new Button(確定);refresh=new Button(刷新);sort=new Button(排序);confirm2.setEnabled(false);refresh.setEnabled(false);sort.setEnabled(false);help=new Button(使用說(shuō)明);save=new Button(保存結(jié)果);save.setEnabled(fal

20、se);out=new TextField(50);for(int i=0;i10;i+)personvotei=new TextField(80);Panel p=new Panel();Panel p1=new Panel();Panel p2=new Panel();Panel p3=new Panel();Panel p4=new Panel();Panel p5=new Panel();Panel p6=new Panel();Panel p7=new Panel();Panel pa=new Panel();Panel pb=new Panel();Panel pc=new Pan

21、el();setLayout(new BorderLayout();pa.setLayout(new GridLayout(7,1);pb.setLayout(new BorderLayout();p4.setLayout(new GridLayout(1,5);p5.setLayout(new GridLayout(1,5);p1.add(hint);p2.add(canditate);p2.add(help);p3.add(confirm1);p3.add(cancle);p3.add(notice);p4.setBackground(Color.green);p5.setBackgrou

22、nd(Color.green);p6.setBackground(Color.green);for(int i=0;i5;i+)/創(chuàng)建候選人選項(xiàng)candidatei=new Checkbox(candidatelisti);p4.add(candidatei);for(int i=5;i10;i+)/創(chuàng)建候選人選項(xiàng)candidatei=new Checkbox(candidatelisti);p5.add(candidatei);for(int j=0;j10;j+)candidatej.setEnabled(false);p6.add(confirm2);p6.add(refresh);p6

23、.add(sort);p7.add(result);p7.add(out);p7.add(save);pa.add(p1);pa.add(p2);pa.add(p3);pa.add(p4);pa.add(p5);pa.add(p6);pa.add(p7);p.setLayout(new GridLayout(10,1);for(int i=0;i10;i+) p.add(personvotei);ScrollPane scroll=new ScrollPane();scroll.add(p);pc.add(banquan);pb.add(Center,scroll);pb.add(South,

24、pc);add(Center,pa);add(South,pb);confirm1.addActionListener(this);cancle.addActionListener(this);confirm2.addActionListener(this);refresh.addActionListener(this);sort.addActionListener(this);help.addActionListener(this);save.addActionListener(this);/面板的布局public void start()/循環(huán)播放音樂(lè)music.loop();public

25、 void stop()/結(jié)束播放music.stop();public void actionPerformed(ActionEvent e)/注冊(cè)監(jiān)聽(tīng)String s=e.getActionCommand();if(s.equals(確認(rèn))confirm1.setEnabled(false);save.setEnabled(true);confirm2.setEnabled(true);refresh.setEnabled(true);sort.setEnabled(true);help.setEnabled(true);String g=canditate.getText();/獲取輸入

26、的候選人StringTokenizer st=new StringTokenizer(g);/字符串分析器peoplenumble=st.countTokens();/統(tǒng)計(jì)候選人數(shù)int i=0;while(st.hasMoreTokens()candidatelisti=st.nextToken();i+;/獲取語(yǔ)言符號(hào)(候選人名單)for(int j=0;j10;j+)candidatej.setLabel(candidatelistj);/將候選人名單添加到復(fù)選框里for(int j=0;jpeoplenumble;j+)candidatej.setEnabled(true);for(i

27、nt j=peoplenumble;j10;j+)candidatej.setVisible(false);/多余的選框設(shè)置為不可見(jiàn)if(s.equals(取消)/重新設(shè)置候選人,進(jìn)行重新投票confirm1.setEnabled(true);canditate.setText();if(s.equals(確定)totalvote+;count1=0;sort.setEnabled(true); for(int j=0;j3) invalidatedTicket+;/選的人數(shù)超過(guò)3個(gè)則選票作廢 if(count10) for(int j=0;jpeoplenumble;j+) if(candi

28、datej.getState() countj+; /統(tǒng)計(jì)候選人所得票數(shù)for(int j=0;j10;j+)candidatej.setState(false);for(int j=0;j10;j+)candidatej.setState(false);/清空選框中的勾out.setText(已經(jīng)統(tǒng)計(jì)了:+totalvote+張選票,其中棄權(quán)票:+abstention+作廢票:+invalidatedTicket);/輸出統(tǒng)計(jì)結(jié)果 for(int j=0;jpeoplenumble;j+) personvotej.setText(+candidatelistj+得票數(shù):+countj);/輸

29、出各個(gè)候選人得票數(shù) if(s.equals(刷新)confirm1.setEnabled(true);confirm2.setEnabled(false);refresh.setEnabled(false);sort.setEnabled(false);save.setEnabled(false);totalvote=0; peoplenumble=0; count1=0;invalidatedTicket=0;abstention=0;canditate.setText();out.setText();for(int j=0;j10;j+)candidatej.setState(false)

30、;for(int j=peoplenumble;j10;j+)candidatej.setVisible(true);for(int j=0;j10;j+)candidatelistj=;for(int j=0;j10;j+)countj=0;for(int j=0;j10;j+)candidatej.setLabel(candidatelistj);for(int j=0;j10;j+)personvotej.setText();if(s.equals(排序)sort.setEnabled(false);int m;String n;for(int j=0;jpeoplenumble;j+)

31、for(int i=j+1;ipeoplenumble;i+)if(countjcounti)m=countj;countj=counti;counti=m;n=candidatelistj;candidatelistj=candidatelisti;candidatelisti=n;/按得票數(shù)由多到少進(jìn)行排序for(int j=0;jpeoplenumble;j+)personvotej.setText(+candidatelistj+得票數(shù):+countj);/輸出排序后各候選人的票數(shù)if(s.equals(使用說(shuō)明)new Help();if(s.equals(保存結(jié)果)new Save

32、();class Help extends Frame/“使用說(shuō)明”的彈出窗體Panel p=new Panel();TextField help=new TextField6;Help()super(使用說(shuō)明);p.setLayout(new GridLayout(6,1);for(int i=0;i6;i+)helpi=new TextField(10);for(int i=0;i6;i+) p.add(helpi);ScrollPane scroll=new ScrollPane();scroll.add(p);add(scroll); help0.setText(使用說(shuō)明:); hel

33、p1.setText(1:在文本框中輸入候選人名單,點(diǎn)擊“確認(rèn)”以完成候選人的設(shè)置,點(diǎn)擊“取消”可以重新設(shè)置候選人。); help2.setText(2:對(duì)候選人進(jìn)行投票,點(diǎn)擊下面的“確定”以確認(rèn)選票。(注意:每點(diǎn)一次確定將產(chǎn)生一張選票!); help3.setText(3:確定選票后,會(huì)自動(dòng)統(tǒng)計(jì)結(jié)果,點(diǎn)擊“排序”可以對(duì)候選人所得的票數(shù)由高到低進(jìn)行排序。); help4.setText(4:點(diǎn)擊“刷新”可以重新設(shè)置候選人,并開(kāi)始新的一輪投票); help5.setText(5:在任何時(shí)候可以點(diǎn)擊“使用說(shuō)明”來(lái)查看幫助,點(diǎn)擊“保存結(jié)果”,可以將統(tǒng)計(jì)以文本的形式顯示出來(lái)。);setSize(600

34、,200);setVisible(true);addWindowListener(new closeWin();class closeWin extends WindowAdapterpublic void windowClosing(WindowEvent e)Window w=e.getWindow();w.dispose();class Save extends Frame/“保存結(jié)果”的彈出窗體TextArea save;Save()super(統(tǒng)計(jì)結(jié)果);save=new TextArea(11,1);add(save);save.setText(out.getText()+n+pe

35、rsonvote0.getText()+n+personvote1.getText()+n+personvote2.getText()+n+personvote3.getText()+n+personvote4.getText()+n+personvote5.getText()+n+personvote6.getText()+n+personvote7.getText()+n+personvote8.getText()+n+personvote9.getText()+n);setSize(300,300);setVisible(true);addWindowListener(new close

36、Win();class closeWin extends WindowAdapterpublic void windowClosing(WindowEvent e)Window w=e.getWindow();w.dispose();五、運(yùn)行調(diào)試與分析討論 運(yùn)行后的主界面(背景音樂(lè)響起)部分按鈕已禁用 點(diǎn)擊“使用說(shuō)明”后彈出的幫助文檔輸入候選人點(diǎn)擊“確認(rèn)”后,候選人出現(xiàn)在選票上,之前多余的選框沒(méi)有顯示出來(lái)選擇候選人,點(diǎn)擊“確定”后自動(dòng)統(tǒng)計(jì)出結(jié)果,并清空上一次選框中的勾 點(diǎn)擊“排序”后,候選人根據(jù)票數(shù)由高到低排列點(diǎn)擊“保存結(jié)果”彈出一個(gè)統(tǒng)計(jì)結(jié)果的窗體可以對(duì)其進(jìn)行復(fù)制,方便保存點(diǎn)擊“刷新”所有數(shù)據(jù)

37、清空回到主界面,此時(shí)可以進(jìn)行下一輪投票第 20 頁(yè) 6、 設(shè)計(jì)體會(huì)與小結(jié) 做這個(gè)課程設(shè)計(jì)我最大的體會(huì)就是不僅熟練地掌握了書(shū)本上的知識(shí),還學(xué)到了很多書(shū)本上沒(méi)有的知識(shí)。雖然在很早以前就把這個(gè)程序?qū)懞昧?,也?shí)現(xiàn)了基本功能,但老師每次看完之后都能夠給我一些改進(jìn)的建議,按照老師的建議,我不厭其煩的把程序改了又改,從老師那我了解到,一個(gè)好的程序,應(yīng)該能讓別人容易讀懂,所以變量名盡量用英文單詞而不要用單個(gè)字母表示,還有代碼中應(yīng)該要有足夠多的注釋。當(dāng)遇到某個(gè)功能無(wú)法實(shí)現(xiàn)時(shí),我會(huì)上網(wǎng)先百度,看看網(wǎng)上有沒(méi)有好的解決方案,實(shí)在找不到的話就去問(wèn)老師,通過(guò)老師提供的接口、類(lèi)之類(lèi)的,然后查詢(xún)那個(gè)幫助文檔。我想一個(gè)人只有到

38、了緊要關(guān)頭才會(huì)奮力一搏吧,通過(guò)課程設(shè)計(jì),更加深入的了解了java,想當(dāng)初剛學(xué)java的時(shí)候,輸出Hello Word!都能讓自己激動(dòng)半天,我想我們?cè)趯W(xué)東西的時(shí)候,興趣真的很重要,以前學(xué)java時(shí)還感覺(jué)不到它的趣味性,可是學(xué)到后面GUI時(shí),才發(fā)現(xiàn)java很有趣,自己照著書(shū)上把代碼打上去運(yùn)行,幾乎每個(gè)例題都有在電腦上試驗(yàn)過(guò)吧,所以每次做上機(jī)實(shí)驗(yàn)時(shí)就仿照書(shū)上的寫(xiě),我想,學(xué)計(jì)算機(jī)語(yǔ)言最大的喜悅就是當(dāng)一個(gè)程序按照自己所想要的結(jié)果運(yùn)行出來(lái)吧!我覺(jué)得幫助別人也是一種學(xué)習(xí),當(dāng)有朋友讓我?guī)兔r(shí),我會(huì)很樂(lè)意,因?yàn)樵趲椭鷦e人的同時(shí),會(huì)迫使自己去學(xué)習(xí)新的東西。通過(guò)做這個(gè)投票管理系統(tǒng),讓我對(duì)于Applet更加深入的了解了,還有部件的布局也更熟練了。我想,學(xué)習(xí)是個(gè)不間斷的過(guò)程,如果真正想學(xué)好一門(mén)語(yǔ)言的話,光靠課程設(shè)計(jì)這段時(shí)間是遠(yuǎn)遠(yuǎn)不夠的,所以凡事還是貴在堅(jiān)持,我看過(guò)有些同學(xué)過(guò)兩天就換一個(gè)課設(shè)題目,我問(wèn)他為什么,他說(shuō)還有幾個(gè)錯(cuò)誤怎么都找不出來(lái),于是就換題了。能順利的完成這次課設(shè),我非常感謝我的java老師*,是她給予了我很多幫助,教會(huì)了我很多東西,謝謝! 第 22 頁(yè) 七、參考文獻(xiàn)1 丁振凡. Java語(yǔ)言實(shí)用教程(第1版)M. 北京:北京郵電大學(xué)出版社,2005.2

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!