学生投票软件Word文件下载.docx
《学生投票软件Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生投票软件Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
![学生投票软件Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-2/3/4e3e057e-ec64-4362-a678-188b3054501e/4e3e057e-ec64-4362-a678-188b3054501e1.gif)
//弹出对话框
②staticJButton[]bk={newJButton("
投票"
),newJButton("
刷新"
保存结果"
)};
//相关的按钮
③JCheckBox[]ck={newJCheckBox("
陈乔恩"
),newJCheckBox("
蔡依林"
柯震东"
//实现投票的复选框
④JTextField[]t={newJTextField("
"
14),newJTextField("
14)};
//文本框用于显示选票
⑤ImageIcon[]ic={newImageIcon("
0.jpg"
),newImageIcon("
1.jpg"
2.jpg"
3.jpg"
4.jpg"
//图片信息
⑵各部分功能的实现:
(只列出关键部分)
①查看简介按钮:
通过显示对话框的方式来实现候选人的介绍
button.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
JOptionPane.showMessageDialog(null,str1[0],str2[0],JOptionPane.PLAIN_MESSAGE);
}
});
②投票按钮:
button.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(ck[0].isSelected()||ck[1].isSelected()||ck[2].isSelected())
count++;
//如果由候选人被选,
if(ck[0].isSelected()){
count1++;
//1号候选人被选,票数加1
ck[0].setEnabled(true);
//设置复选框可以被编辑
bk[0].setEnabled(true);
//投票按钮可以使用
}
//其他的候选人复选框和以上相同,这里不再列出
t[0].setText("
投票总人数:
+count);
t[1].setText("
陈乔恩得票数:
+count1);
t[2].setText("
蔡依林得票数:
+count2);
t[3].setText("
柯震东得票数:
+count3);
bk[0].setEnabled(false);
//投票之后,投票按钮不可编辑,必须点击刷新按钮,保证每人只能投一张选票
③文件保存按钮主要通过以下步骤进行编写:
创建该文件所对应的输入/输出流或读写器的实例对象,以获得相应的系统资源;
对文件进行读(输入)/写(输出)操作;
最后调用close成员方法,关闭文件,以释放文件所占用的系统资源。
4、测试过程
⑴程序初始化界面
⑵测试查看三个候选人简介功能
⑶测试软件的投票功能(主要功能)
假设一共有15个人投票,每个人的投票情况如下:
陈乔恩
蔡依林
柯震东
1号投票人
√
2号投票人
3号投票人
4号投票人
5号投票人
6号投票人
7号投票人
8号投票人
9号投票人
10号投票人
11号投票人
12号投票人
13号投票人
14号投票人
15号投票人
总计
7票
11票
9票
投票结果显示如下:
⑷测试软件的选票存储功能
打开刚刚保存在C盘下的名为(选票.xls)的Excel文档:
5、小组人员分工及自我表现评价
⑴组员:
AAA
我参与了开发前期的选题及分析过程,由于本人编程能力较弱,所以未参与编程开发的工作,但是在这期间复习了课本,巩固了自己java语言编程的基础知识。
我还负责了软件开发后期的测试及改进阶段,与其他组员合作完善了软件的功能。
另外,我还负责本小组项目报告的编写。
虽然没有参与代码编写有些遗憾,可是在本项目开发的过程中提高了很多,综合表现得分90分。
⑵组员:
BBB
我主要参与了开发前期的选题及分析过程,在此期间从图书馆和互联网上查阅了很多资料,最终和AAA一起确定了课程的题目---学生投票软件。
随后由我负责软件代码的编写,在编写的过程中,由于对java语言掌握的不是特别好,遇到了很多问题,不过经过自己的努力,一一克服了困难,最终编写出了比较满意的代码,最后我还参与了开发后期的测试与程序改进,word的修改工作,综合表现得分95分。
6、总结
通过本次的Java期末大作业,我最大的体会就是我们不仅要熟练地掌握了书本上的知识,更要能够把学到的知识应用到上机编程中,这样才能算是真正学会了书本上所讲的知识。
本次Java编程主要参考本学期所学的教材第八章—Swing图形用户界面设计,本次代码有些简单,但完全是我自己编写的,无任何抄袭;
在编写代码的过程中,我遇到了很多困难,比如图形界面的设计、鼠标触发等就花费了很多时间翻看教材和其他资料,不过看着凭借自己的努力做出来的成果,一切努力都是值得的。
通过做这个学生投票系统,我对于Java有了进一步地了解,特别对部件的布局更熟练了。
我想,学习是个持之以恒的过程,如果真正想学好Java语言的话,光靠课程设计的时间是远远不够的,因为自己对Java还是比较感兴趣,所以以后我一定要加强Java的学习,坚持不懈,一切努力都将会是值得的。
7、参考文献
1.雍俊海编著.《Java程序设计教程》(第二版)--北京:
清华大学出版社,2007.07
八、程序源代码
importjava.awt.Color;
importjava.awt.Container;
importjava.awt.FlowLayout;
importjava.awt.Font;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.BufferedWriter;
importjava.io.FileWriter;
importjava.io.IOException;
importjavax.swing.JDialog;
importjavax.swing.JFileChooser;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JFrame;
importjavax.swing.JButton;
importjavax.swing.ImageIcon;
importjavax.swing.BoxLayout;
importjavax.swing.JCheckBox;
importjavax.swing.JTextField;
importjavax.swing.JOptionPane;
publicclassVoteextendsJFrame{
privatestaticfinallongserialVersionUID=1L;
protectedinti,m=0,h=0;
staticJDialogd=newJDialog();
staticJButton[]bk={newJButton("
JCheckBox[]ck={newJCheckBox("
JTextField[]t={newJTextField("
ImageIcon[]ic={newImageIcon("
00000.jpg"
11111.jpg"
22222.jpg"
33333.jpg"
44444.jpg"
staticintcount=0,count1=0,count2=0,count3=0;
publicVote()
{
super("
学生投票系统"
);
String[]s={"
"
};
int[]ia={JLabel.CENTER,JLabel.CENTER,JLabel.CENTER,JLabel.CENTER,JLabel.CENTER};
int[]ib={JLabel.TOP,JLabel.TOP,JLabel.TOP,JLabel.TOP,JLabel.TOP};
Containerc=getContentPane();
c.setLayout(newFlowLayout());
JPanel[]p=newJPanel[7];
for(inti=0;
i<
7;
i++)
{
p[i]=newJPanel();
}
p[0].setLayout(newFlowLayout());
p[1].setLayout(newFlowLayout(FlowLayout.CENTER,30,0));
p[2].setLayout(newFlowLayout(FlowLayout.CENTER,150,0));
p[3].setLayout(newFlowLayout());
p[4].setLayout(newBoxLayout(p[4],BoxLayout.Y_AXIS));
p[5].setLayout(newFlowLayout(FlowLayout.CENTER,0,0));
p[6].setLayout(newBoxLayout(p[6],BoxLayout.X_AXIS));
c.add(p[i]);
int[]pj={0,1,1,1,2,2,2,3,4,4,4,5,5,5,5};
=14;
{
if(i==0)
{
JLabelaLabel=newJLabel(ic[i],JLabel.CENTER);
aLabel.setHorizontalTextPosition(ia[i]);
aLabel.setVerticalTextPosition(ib[i]);
p[pj[i]].add(aLabel);
}
if(i>
0&
&
=3)
JLabelaLabel=newJLabel(s[i-1],ic[i],JLabel.CENTER);
3&
=6)
JButtonb=newJButton("
查看简介"
Show1(b,m++);
p[pj[i]].add(b);
if(i==7)
JLabelaLabel=newJLabel(ic[i-3],JLabel.CENTER);
aLabel.setHorizontalTextPosition(ia[i-3]);
aLabel.setVerticalTextPosition(ib[i-3]);
7&
=10)
p[pj[i]].add(ck[i-8]);
ck[i-8].setSelected(false);
if(i==11)
p[pj[i]].add(bk[i-11]);
Show1(bk[i-11],3);
if(i==12)
Show1(bk[i-11],4);
if(i==13)
Show1(bk[i-11],5);
if(i==14)
for(intlength=0;
length<
4;
length++)
{
t[length].setEditable(false);
p[pj[i]].add(t[length]);
}
publicvoidShow1(JButtonbutton,intnumber)
finalStringstr2[]={"
陈乔恩简介"
蔡依林简介"
柯震东简介"
finalStringstr1[]={"
陈乔恩,中国台湾女演员、歌手,出生于台湾新竹。
2001年9月23日正式出道,是一位多方位发展的艺人。
"
蔡依林,1980年9月15日生于台湾,中国的流行音乐女歌手,擅长前卫多变的造型与丰富的舞曲及舞蹈。
柯震东,本名柯家凯。
中国台湾男演员、歌手。
1991年6月18日出生于台湾澎湖,现就读于私立中国文化大学体育系。
setLayout(newFlowLayout());
add(button);
if(number==0)//查看陈乔恩简介
{button.addActionListener(newActionListener()
publicvoidactionPerformed(ActionEvente)
JOptionPane.showMessageDialog(null,str1[0],str2[0],JOptionPane.PLAIN_MESSAGE);
});
if(number==1)//查看蔡依林简介
JOptionPane.showMessageDialog(null,str1[1],str2[1],JOptionPane.PLAIN_MESSAGE);
if(number==2)//查看柯震东简介
JOptionPane.showMessageDialog(null,str1[2],str2[2],JOptionPane.PLAIN_MESSAGE);
if(number==3)//投票按钮
if(ck[0].isSelected()||ck[1].isSelected()||ck[2].isSelected())
if(ck[0].isSelected())
ck[0].setEnabled(true);
bk[0].setEnabled(true);
if(ck[1].isSelected())
count2++;
ck[1].setEnabled(true);
if(ck[2].isSelected()){
count3++;
ck[2].setEnabled(true);
bk[0].setEnabled(false);
Fontfont=newFont("
宋体"
Font.BOLD,15);
Colorclo[]={Color.blue,Color.magenta,Color.green,Color.red,Color.darkGray};
for(intj=0;
j<
j++)
{
t[j].setFont(font);
if(h%5==0)
t[j].setForeground(clo[0]);
if(h%5==1)
t[j].setForeground(clo[1]);
if(h%5==2)
t[j].setForeground(clo[2]);
if(h%5==3)
t[j].setForeground(clo[3]);
if(h%5==4)
t[j].setForeground(clo[4]);
h++;
if(number==4)//刷新按钮
bk[0].setEnabled(true);
ck[0].setSelected(false);
ck[1].setSelected(false);
ck[2].setSelected(false);
ck[1].setEnabled(true);
ck[2].setEnabled(true);
if(number==5)//保存结果按钮
JFileChooserf=newJFileChooser();
f.showSaveDialog(Vote.this);
Stringfilename=f.getSelec