《投票系统设计模板(Java).docx》由会员分享,可在线阅读,更多相关《投票系统设计模板(Java).docx(27页珍藏版)》请在第一文库网上搜索。
1、课程设计(论文)任务书软件学院学院09软件工程建计学,业2班一、课程设计(论文)题目简朴投票管理系统(小应用程序APP1et)二、课程设计(论文)工作自2023年12月20日起至2023年12月24日止。三、课程设计(论文)地点:软件学院实训中心四、课程设计(论文)内容规定:1 .本课程设计的目的尚有SetEnabIed()措施可以设置按钮与否可用,setState(boo1ean)可以设置复选框与否激活,在文本框或文本域中输出和获取信息可以分别用setTextO和getTextO,根据候选人数将多出的复选框去掉,可以让设置多出的为不可见SetVi1ib1e(f1ase)这样就行了。对于附加功
2、能如背景音乐,可以用AUdiOCIiP接口、pub1icvoidp1ay()控制播放、pub1icvoid1oop()实现循环播放、pub1icvoidstopO停止播放目前音乐、使用阐明和保留成果都是需要通过新建FranmC窗体实现的。三、设计思绪拿到这个题目我就构思好了大概的方向,那就是先制作主界面,然后再实现各个按钮的功能。界面设计时,先定义好各个部件:标签1abe1、文本框TeXtFi1ed、按钮BUttorU复选框CheCkbox、SCroI1滚动条,我把整个界面提成诸多种小面板,每一行部件都在一种小面板上面,最终将这些小面板一种个添加上去add(),像流式布局F1OW1ayoUt、
3、方位布局BOrder1ayoUt、网格布局Grid1ayout重要是用到了这三种布局,中间那几块面板通过SetBackgroundO将其背景色改为绿色。通过不停修改测试运行,一种投票系统的主界面就做出来了。接下来就是对各个功能的实现了,定义几种类变量来记录投票有关记录如:TextFie1dpersonvote文本条数组,显示每个人的得票状况intcount记录每个人的得票数inttota1vote=0,总票数intPeop1enumber=O;候选人个数intCount1=O,inva1idatedTicket=O,abstention=0;分别表达选的人数,废票数,弃权票数对各个按钮进行注册
4、监听addAction1iStener()在输入候选人名单时是输入一串名字,因此要从这一串名字中单个的提取出来并记录出候选人个数,在完毕这项功能时要用到StringTokenizer类。Stringg=canditate.getText();获取输入的I候选人StringTokenizerst=newStringTokeniZer(g);字符串分析器peop1enumb1e=st.CountTokensO;记录候选人数inti=0;whiIe(st.hasMoreTokens()candidate1isti=st.nextToken();i+;获取语言符号(候选人名单)点击确认按钮后,根据候选
5、人个数添加单项选择按钮,并以候选人名字作为单项选择按钮的标签名。for(intj=0;j10;j+)candidatej.Set1abe1(candidate1istj);将候选人名单添加到曳选框里将多出的选框设置为不可见for(intj=peop1enumb1e;j10;j+)candidatej.setVisib1e(fa1se)点击“取消”的话输入候选人的文本框为空,此时可以重新输入,点击下面“确定”则记录选了多少人并通过这个判断是废票还是弃权,然后分别给候选人增长票数并输出对应的信息:for(intj=0;j3)inva1ida1edTicket+;选的人数超过3个则选票作废if(co
6、untK=3&count10)for(intj=0:jpeopIenumb1e;j+)if(candidatej.getState()countj+;记录候选人所得票数out.setText(*已经记录了:+tota1vote+”张选票,其中弃权票:+abstention+作废票:+inva1idatedTicket);/输出记录成果for(intj=0:jpeop1enumb1e;j+)personvotej.SetTeXt(+candidate1istj+”得票数*+countj);/输出各个候选人得票数点击“排序”则比较各个候选人的票数由高到低进行排序for(intj=0;jpeop1e
7、numb1e;J+)for(inti=j+1:ipeop1enumb1e;i+)if(countjcounti)m=countj;countj=counti;counti=m;n=candidate1istj;candidate!istj=candidate1istiJcandidate1isti=n;按得票数由多到少进行排序“刷新”按钮通过清空所有文本框中的数据,所有变量变为初始化值;“使用阐明”通过弹出Frame窗体来实现,在该窗体中新建了几种文本框TextFei1d和Scro11滚轮用来显示协助信息。“保留成果”也是通过弹出Franme窗体,窗体里面有个文本域TextArea,用来输出记
8、录的成果,在文本域中,顾客可以梵制里面的内容然后保留在其他文献中。最终说下背景音乐的实现,通过添加AUdioCIiP接口来实现AudioC1ipmusic;/播放音乐music=getAudioC1ip(getCodeBase(),“瘦瘦小J-梁静茹.mid);pub1icvoidStart()循环播放音乐music.IoopO;pub1icvoidStOPo结束播放music,stopO;四、详细设计importjava.io.*;importjava.awt.*;importjava.uti1.*;importjava,app1et.*;importjava.awt.event.*;importjavax.swing.*;pub1icc1ass投票管理系统extendsApp1etimp1ementsAction1istenerfAudioC1ipmusic;播