当前位置:
文档之家› 投票管理系统 JAVA课程设计
投票管理系统 JAVA课程设计
(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,
巩固了哪些知识,有哪些提高。
(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)
(7)报告按规定排版打印,要求装订平整,否则要求返工;
(8)课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录
数:"+count[j]);//输出各个候选人得票数 点击“排序”则比较各个候选人的票数由高到低进行排序 for(int j=0;j<peoplenumble;j++)
for(int i=j+1;i<peoplenumble;i++) if(count[j]<count[i]){ m=count[j];count[j]=count[i];count[i]=m;
评阅人:
职称: 讲师 2010 年 12 月 25 日
华东交通大学课程设计报告
目录
一、课程设计任务及要求.................................................................... 1 二、需求分析........................................................................................ 2 三、设计思路........................................................................................ 3 四、详细设计........................................................................................ 6 五、运行调试与分析讨论.................................................................. 15 六、设计体会与小结.......................................................................... 19 七、参考文献...................................................................................... 20
i++;}//获取语言符号(候选人名单)
点击确认按钮后,根据候选人个数添加单选按钮,并以候选人名字作为单
选按钮的标签名。
第3页
华东交通大学课程设计报告
for(int j=0;j<10;j++) candidate[j].setLabel(candidatelist[j]); //将候选人名单添加到复选框里 将多余的选框设置为不可见 for(int j=peoplenumble;j<10;j++)
1.本课程设计的目的
(1)掌握 Java 语言的程序设计方法;
(2)理论联系实际,进一步提高学生的软件开发技术;
(3)培养学生分析、解决问题的能力;
(4)提高学生实践论文撰写能力。
2.课程设计的任务及要求
1)课程设计任务:
设计一个投票管理系统。
2)创新要求:
(1)新增背景音乐Fra bibliotek(2)新增程序的“使用说明”
课程设计(论文)评审意见
(1)学习态度(10 分):优( )、良( )、中( )、一般( )、差( ); (2)系统设计(20 分):优( )、良( )、中( )、一般( )、差( ); (3)编程调试(20 分):优( )、良( )、中( )、一般( )、差( ); (4)回答问题(20 分):优( )、良( )、中( )、一般( )、差( ); (5)论文撰写(30 分):优( )、良( )、中( )、一般( )、差( );
做好界面后,接下来就需要去实现各个功能了。因为各个功能都是通 过按钮来实现的,所以要对按钮进行注册监听 addActionlistener(),监 听之后就是对按钮事件的处理了 actionPerformed(ActionEvent e)。要一 个字符串中的人名,可以用 StringTokenizer 字符串分析器来获取候选人 的名字,其中还要用到里面的一些方法,比如 nextToken()、hasMoreTokens ()、countTokens()。还有 setEnabled()方法可以设置按钮是否可用, setState(boolean)可以设置复选框是否激活,在文本框或文本域中输出 和获取信息可以分别用 setText()和 getText(),根据候选人数将多余 的复选框去掉,可以让设置多余的为不可见 setVilible(flase)这样就行 了。对于附加功能如背景音乐,可以用 AudioClip 接口、public void play ()控制播放、public void loop()实现循环播放、public void stop ()停止播放当前音乐、使用说明和保存结果都是需要通过新建 Franme 窗 体实现的。
数,废票数,弃权票数
对各个按钮进行注册监听 addActionListener()
在输入候选人名单时是输入一串名字,所以要从这一串名字中单个的提取
出来并统计出候选人个数,在完成这项功能时要用到 StringTokenizer 类。
String g=canditate.getText();//获取输入的候选人
out.setText(" 已 经 统 计 了 :"+totalvote+" 张 选 票 , 其 中 弃 权 票:"+abstention+"作废票:"+invalidatedTicket);//输出统计结果
for(int j=0;j<peoplenumble;j++) personvote[j].setText(""+candidatelist[j]+" 得 票
第2页
华东交通大学课程设计报告
三、设计思路
一拿到这个题目我就构思好了大概的方向,那就是先制作主界面,然
后再实现各个按钮的功能。界面设计时,先定义好各个部件:标签 Label、
文本框 TextFiled、按钮 Button、复选框 Checkbox、Scroll 滚动条,我把
整个界面分成很多个小面板,每一行部件都在一个小面板上面,最后将这
candidate[j].setVisible(false) 点击“取消”的话输入候选人的文本框为空,此时可以重新输入,点击下 面“确定”则统计选了多少人并通过这个判断是废票还是弃权,然后分别 给候选人增加票数并输出相应的信息;
for(int j=0;j<10;j++){ if(candidate[j].getState()) count1++;}//统计选了多少人 if(count1==0) abstention++;//一个都没选则选票作为弃权 if(count1>3) invalidatedTicket++;//选的人数超过 3 个则选票作废 if(count1<=3&&count1>0){ for(int j=0;j<peoplenumble;j++) if(candidate[j].getState()) count[j]++;}//统计候选人所得票数
(代码及相关图片)
(9)严禁抄袭,如有发现,按不及格处理。
4)课程设计评分标准:
华东交通大学课程设计报告
(1)学习态度:10 分; (2)系统设计:20 分; (3)编程调试:20 分; (4)回答问题:20 分; (5)论文撰写:30 分。 5)参考文献: (1)丁振凡. Java 语言实用教程(第 2 版)[M]. 北京邮电大学出版社. 2008.1 (2)丁振凡. Java 语言实用教程实验指导(第 2 版)[M]. 北京邮电大学出版社. 2008.1 (3)杨树林等. Java 语言最新实用案例教程(第 2 版)[M]. 清华大学出版社. 2010.7 6)课程设计进度安排
Checkbox candidate[]
//选择框数组,代表候选人
TextField personvote[] //文本条数组,显示每个人的得票情况
int count[]
//记录每个人的得票数
int totalvote=0,
//总票数
int peoplenumber=0;
//候选人个数
int count1=0,invalidatedTicket=0,abstention=0; //分别表示 选的人
1.准备阶段(4 学时):选择设计题目、了解设计目的要求、查阅相关资料 2.程序模块设计分析阶段(4 学时):程序总体设计、详细设计 3.代码编写调试阶段(8 学时):程序模块代码编写、调试、测试 4.撰写论文阶段(4 学时):总结课程设计任务和设计内容,撰写课程设计论文
学生签名: 2010 年 12 月 20 日
图1
第1页
华东交通大学课程设计报告
二、需求分析
本程序主要需要掌握窗口的布局和按钮事件的触发相关知识,所有部 件都可以添加到面板 Panel 上,显示提示信息需要用到标签 Label,输入框 需要新建 TextField,按钮用 Button,选票需要新建 Checkbox 复选框来实 现,至于下面那个用来显示各个候选人得票数的要先新建文本框 TextField 添加到一个小面板上,再新建个 Scroll 滚动条,将建有文本框的面板添加 到 Scroll 滚动条上就可以了。为了做出这个界面还需要对各个部件进行摆 放,为了达到那个效果,可以将整个界面分成很多个小块,每一小块都是 个面板,最后再拼接起来,每个小块都设置好布局 setLayout,在这里主要 用到网格布局 GridLayout,流式布局 FlowLayout 和 BorderLayout 方位布 局,设置面板的颜色可以用 setBackground()来实现。