首页 > 编程 > Java > 正文

java实现投票程序设计

2019-11-26 14:45:15
字体:
来源:转载
供稿:网友

本文实例为大家讲述了java实现投票程序设计代码,分享给大家供大家参考,具体内容如下

运行效果图:

程序如下:

import java.awt.*;import java.awt.Event.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.StringTokenizer;import javax.swing.*;public class VoteTest implements ActionListener{    private JFrame frame;    private JPanel p1,p2,p3,p2_1;    private JLabel label1,label2,label3;    private JTextField name,votemess;    private JTextField schoolVote[];    private JButton com,con,sure,resh,sort;    private Checkbox checkbox[];    private int[] count;    private int totalVote,schoolNumber,max,dis,giveup;        public VoteTest(){        frame=new JFrame("中国大学排行榜选票系统v1.0");                p1=new JPanel();        p2=new JPanel();        p3=new JPanel();                label1=new JLabel("首先输入候选学校的名字(数量不超过10,名字之间用逗号分隔):");        label2=new JLabel("用下面的选择框统计选票:",JLabel.CENTER);        label3=new JLabel("选举结果:");                name=new JTextField(10);        votemess=new JTextField(46);        schoolVote=new JTextField[10];                com=new JButton("确认");        con=new JButton("取消");        sure=new JButton("确定");        resh=new JButton("刷新");        sort=new JButton("排序");                checkbox=new Checkbox[10];        p2_1=new JPanel();                count=new int[10];//记录学校的选票数        totalVote=0;        schoolNumber=0;        max=3;        dis=0;        giveup=0;                init();    }        public void init(){        frame.setLayout(new GridLayout(3,1));        frame.add(p1);        frame.add(p2);        frame.add(p3);                p1.setLayout(new BorderLayout());        p1.add(label1,BorderLayout.NORTH);        p1.add(name,BorderLayout.CENTER);        JPanel p1_3;        p1_3=new JPanel();        p1_3.add(com);p1_3.add(con);p1_3.add(label2);        p1.add(p1_3,BorderLayout.SOUTH);                p2.setLayout(new BorderLayout());        JPanel p2_2;        p2_2=new JPanel();        p2_1.setLayout(new GridLayout(2,5));        for(int i=0;i<=9;i++){            checkbox=new Checkbox();            p2_1.add(checkbox);        }        p2_2.add(sure);p2_2.add(resh);p2_2.add(sort);        p2.add(p2_1,BorderLayout.CENTER);        p2.add(p2_2,BorderLayout.SOUTH);                p3.setLayout(new BorderLayout());        JPanel p3_1,p3_2;        p3_1=new JPanel();        p3_2=new JPanel();        p3_1.add(label3);p3_1.add(votemess);        p3_2.setLayout(new GridLayout(10,1));        for(int i=0;i<=9;i++){            schoolVote=new JTextField();            p3_2.add(schoolVote);        }         ScrollPane scroll=new ScrollPane();        scroll.add(p3_2);        p3.add(p3_1,BorderLayout.NORTH);p3.add(scroll,BorderLayout.CENTER);                com.addActionListener(this);con.addActionListener(this);        sure.addActionListener(this);resh.addActionListener(this);        sort.addActionListener(this);            }        public void show(){        frame.pack();        frame.setVisible(true);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    }        /* (non-Javadoc)     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)     */    public void actionPerformed(ActionEvent e) {        // TODO Auto-generated method stub        String s[]=new String[10];        if(e.getSource()==com){            p2_1.removeAll();            String s_name=name.getText();            //提取候选的名字,名字用逗号(英文逗号或汉文逗号)分隔;            StringTokenizer fenxi=new StringTokenizer(s_name,",,");            schoolNumber=fenxi.countTokens();//获取候选的个数            int i=0;            while(fenxi.hasMoreTokens()){    //用单选框代表候选,并添加到面板p2_1                s=fenxi.nextToken();                p2_1.add(checkbox);                checkbox.setLabel(s);                i++;            }            for(int k=0;k<schoolNumber;k++){                schoolVote[k].setText(null);            }        }else if(e.getSource()==con){            name.setText(null);            com.setEnabled(true);            for(int k=0;k<schoolNumber;k++){                schoolVote[k].setText(null);            }        }else if(e.getSource()==sure){            totalVote=totalVote+1;            com.setEnabled(false);            int number=0;            for(int k=0;k<schoolNumber;k++){                if(checkbox[k].getState()){                    number++;                }            }            if(number>max){                dis++;                for(int k=0;k<schoolNumber;k++){                    checkbox[k].setState(false);                }            }else if(number==0){                giveup++;            }else if(number>0&&number<=max){                for(int k=0;k<schoolNumber;k++){                    if(checkbox[k].getState()){                        count[k]=count[k]+1;                        checkbox[k].setState(false);                        schoolVote[k].setText(checkbox[k].getLabel()+"的得票数:"+count[k]);                    }else{                        schoolVote[k].setText(checkbox[k].getLabel()+"的得票数:"+count[k]);                    }                }            }            votemess.setText("己统计了:"+totalVote+"张选票,其中弃权票:"+giveup+"作废票:"+dis);        }else if(e.getSource()==sort){            for(int i=0;i<schoolNumber;i++){                for(int j=i+1;j<schoolNumber;j++){                    if(count[j]>count){                        String str_temp=schoolVote.getText();                        schoolVote.setText(schoolVote[j].getText());                        schoolVote[j].setText(str_temp);                        int nnn=count;count=count[j];count[j]=nnn;                    }                }            }            sort.setEnabled(false);sure.setEnabled(false);        }else if(e.getSource()==resh){            totalVote=0;            votemess.setText("己统计了:"+totalVote+"张选票");            name.setText(null);            com.setEnabled(true);sure.setEnabled(true);sort.setEnabled(true);            for(int i=0;i<=4;i++){                count=0;                schoolVote.setText(null);                p2_1.removeAll();            }        }    }    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        new VoteTest().show();    }    }

希望本文所述对大家学习java软件编程有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表