简单投票计数器java代码

这是一个用于投票计数的小型Java程序,允许用户为不同选项投票,并显示实时计数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.awt.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.*;

public class ElectToo extends JFrame implements ActionListener,ItemListener
{
 static ElectToo frm=new ElectToo();
 static Save sa=new Save();
 static JLabel lab1=new JLabel("总人数:");
 static JLabel lab2=new JLabel("最高票数选手:");
 static JLabel lab3=new JLabel("最高票数:");
 static JDialog dg=new JDialog();
 static JLabel lab4=new JLabel();
 static JLabel lab5=new JLabel();
 static JLabel lab6=new JLabel();
 static JLabel lab7=new JLabel();
 static JLabel lab8=new JLabel();
 static JLabel lab9=new JLabel();
 static JLabel lab10=new JLabel();
 static JLabel lab11=new JLabel();
 static JLabel lab12=new JLabel();
 static JLabel lab13=new JLabel();
 
 static JButton btn1=new JButton("提交");
 static JButton btn2=new JButton("刷新");
 static JButton btn3=new JButton("保存");
 static JButton btn4=new JButton("取消");
 static TextField tf1=new TextField("",5);
 static TextField tf2=new TextField("",15);
 static TextField tf3=new TextField("",5);
 static JCheckBox jb1=new JCheckBox("陈明茂");
 static JCheckBox jb2=new JCheckBox("张三");
 static JCheckBox jb3=new JCheckBox("李四");
 static JCheckBox jb4=new JCheckBox("王五");
 static JCheckBox jb5=new JCheckBox("张三丰");
 static JCheckBox jb6=new JCheckBox("乔峰");
 static JCheckBox jb7=new JCheckBox("萧十一郎");
 static JCheckBox jb8=new JCheckBox("王老吉");
 static JCheckBox jb9=new JCheckBox("费德南");
 static JCheckBox jb10=new JCheckBox("林无敌");
 static JPanel pan1=new JPanel();
 static JPanel pan2=new JPanel();
 static JPanel pan3=new JPanel();
 static JPanel pan4=new JPanel();
 static int count=0;
 static int count1=0;
 static int x1=100,x2=100,x3=100,x4=100,x5=100,x6=100,x7=100,x8=100,x9=100,x10=100;
 static int y=250;
 static int z=250;
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO 自动生成方法存根
  BorderLayout br=new BorderLayout();
  frm.setLayout(br);
  frm.addWindowListener(sa);
 
  frm.setTitle("投票计数器");
  frm.add(pan1,br.NORTH);
  pan1.setBounds(0, 0, 500, 10);
  pan1.add(lab1);
  pan1.add(tf1);
  pan1.add(lab2);
  pan1.add(tf2);
  pan1.add(lab3);
  pan1.add(tf3);
  frm.add(pan2,br.WEST);
  GridLayout gl=new GridLayout(10,1,0,3);
  pan2.setLayout(gl);
  pan2.add(jb1);
  pan2.add(jb2);
  pan2.add(jb3);
  pan2.add(jb4);
  pan2.add(jb5);
  pan2.add(jb6);
  pan2.add(jb7);
  pan2.add(jb8);
  pan2.add(jb9);
  pan2.add(jb10);
  frm.add(pan3,br.SOUTH);
  pan3.setBounds(150, 450, 10, 10);
  pan3.add(btn1);
  pan3.add(btn2);
  frm.add(pan4,br.EAST);
  GridLayout gl1=new GridLayout(10,1,0,3);
  pan4.setLayout(gl1);
  pan4.add(lab4);
  lab4.setForeground(new Color(0,0,255));
  pan4.add(lab5);
  lab5.setForeground(new Color(0,0,255));
  pan4.add(lab6);
  lab6.setForeground(new Color(0,0,255));
  pan4.add(lab7);
  lab7.setForeground(new Color(0,0,255));
  pan4.add(lab8);
  lab8.setForeground(new Color(0,0,255));
  pan4.add(lab9);
  lab9.setForeground(new Color(0,0,255));
  pan4.add(lab10);
  lab10.setForeground(new Color(0,0,255));
  pan4.add(lab11);
  lab11.setForeground(new Color(0,0,255));
  pan4.add(lab12);
  lab12.setForeground(new Color(0,0,255));
  pan4.add(lab13);
  lab13.setForeground(new Color(0,0,255));
 
  frm.setSize(500, 400);
  frm.setLocation(400, 300);
 // frm.setDefaultCloseOperation(EXIT_ON_CLOSE);
  frm.setVisible(true);
  frm.setResizable(false);
  tf1.setEditable(false);
  tf2.setEditable(false);
  tf3.setEditable(false);
  btn1.addActionListener(frm);
  btn2.addActionListener(frm);
  btn3.addActionListener(frm);
  btn4.addActionListener(frm);
  jb1.addItemListener(frm);
  jb2.addItemListener(frm);
  jb3.addItemListener(frm);
  jb4.addItemListener(frm);
  jb5.addItemListener(frm);
  jb6.addItemListener(frm);
  jb7.addItemListener(frm);
  jb8.addItemListener(frm);
  jb9.addItemListener(frm);
  jb10.addItemListener(frm);
  btn1.setEnabled(false);
 }
 static class Save extends WindowAdapter{
  public void windowClosing(WindowEvent e){
   dg.setTitle("保存文件?");
   dg.setSize(200, 100);
   dg.add(btn3);
   dg.add(btn4);
   dg.setLayout(new FlowLayout(FlowLayout.CENTER,5,30));
   dg.setLocation(400, 300);
   dg.setVisible(true);
  }
  }
 public void itemStateChanged(ItemEvent e){
  if(count1>0){//每个人至少投两个人
   btn1.setEnabled(true);
  }else{
   btn1.setEnabled(false);
  }
  if(count1<5){     //此投票计数器一个人只能投四票
   if(jb1.isSelected()){
    count1++;
   jb1.setEnabled(true);
   }
   if(jb2.isSelected()){
    count1++;
   jb2.setEnabled(true);
   }
   if(jb3.isSelected()){
    count1++;
   jb3.setEnabled(true);
   }
   if(jb4.isSelected()){
    count1++;
   jb4.setEnabled(true);
   }
   if(jb5.isSelected()){
    count1++;
   jb5.setEnabled(true);
   }
   if(jb6.isSelected()){
    count1++;
   jb6.setEnabled(true);
   }
   if(jb7.isSelected()){
    count1++;
   jb7.setEnabled(true);
   }
   if(jb8.isSelected()){
    count1++;
   jb8.setEnabled(true);
   }
   if(jb9.isSelected()){
    count1++;
   jb9.setEnabled(true);
   }
   if(jb10.isSelected()){
    count1++;
   jb10.setEnabled(true);
   }
  }else{
   count1=0;
   if(jb1.isSelected()){
   jb1.setEnabled(true);
   }else {
    jb1.setEnabled(false);
   }
   if(jb2.isSelected()){
   jb2.setEnabled(true);
   }else {
    jb2.setEnabled(false);
   }
   if(jb3.isSelected()){
   jb3.setEnabled(true);
   }else {
    jb3.setEnabled(false);
   }
   if(jb4.isSelected()){
   jb4.setEnabled(true);
   }else {
    jb4.setEnabled(false);
   }
   if(jb5.isSelected()){
   jb5.setEnabled(true);
   }else {
    jb5.setEnabled(false);
   }
   if(jb6.isSelected()){
   jb6.setEnabled(true);
   }else {
    jb6.setEnabled(false);
   }
   if(jb7.isSelected()){
   jb7.setEnabled(true);
   }else {
   jb7.setEnabled(false);
   }
   if(jb8.isSelected()){
   jb8.setEnabled(true);
   }else {
    jb8.setEnabled(false);
   }
   if(jb9.isSelected()){
   jb9.setEnabled(true);
   }else {
    jb9.setEnabled(false);
   }
   if(jb10.isSelected()){
   jb10.setEnabled(true);
   }else {
    jb10.setEnabled(false);
   }
  }
 }
 public void actionPerformed(ActionEvent e)
 {
  JButton btn=(JButton)e.getSource();
  if(btn==btn1){
   btn1.setEnabled(false);
   count++;
   tf1.setText(""+count);
   Graphics g=getGraphics();
   g.setColor(Color.RED);
   if(jb1.isSelected()){
    g.fillRect(x1,70, 1, 15);
    x1++;
   }
   if(jb2.isSelected()){
    g.fillRect(x2,98, 1, 15);
    x2++;
    }
   if(jb3.isSelected()){
    g.fillRect(x3,126, 1, 15);
    x3++;
    }
   if(jb4.isSelected()){
    g.fillRect(x4,158, 1, 15);
    x4++;
    }
   if(jb5.isSelected()){
    g.fillRect(x5,188, 1, 15);
    x5++;
    }
   if(jb6.isSelected()){
    g.fillRect(x6,218, 1, 15);
    x6++;
    }
   if(jb7.isSelected()){
    g.fillRect(x7,y, 1, 15);
    x7++;
    }
   if(jb8.isSelected()){
    g.fillRect(x8,278, 1, 15);
    x8++;
    }
   if(jb9.isSelected()){
    g.fillRect(x9,308, 1, 15);
    x9++;
    }
   if(jb10.isSelected()){
    g.fillRect(x10,338, 1, 15);
    x10++;
    }
   int array[]={x1-100,x2-100,x3-100,x4-100,x5-100,x6-100,x7-100,x8-100,x9-100,x10-100};
   lab4.setText(array[0]+"票");
   lab5.setText(array[1]+"票");
   lab6.setText(array[2]+"票");
   lab7.setText(array[3]+"票");
   lab8.setText(array[4]+"票");
   lab9.setText(array[5]+"票");
   lab10.setText(array[6]+"票");
   lab11.setText(array[7]+"票");
   lab12.setText(array[8]+"票");
   lab13.setText(array[9]+"票");
  
   java.util.Arrays.sort(array);
   tf3.setText(""+array[9]);
   if(array[9]==(x1-100)){
    tf2.setText("陈明茂");
   }
   if(array[9]==(x2-100)){
    tf2.setText("张三");
   }
   if(array[9]==(x3-100)){
    tf2.setText("李四");
   }
   if(array[9]==(x4-100)){
    tf2.setText("王五");
   }
   if(array[9]==(x5-100)){
    tf2.setText("张三丰");
   }
   if(array[9]==(x6-100)){
    tf2.setText("乔峰");
   }
   if(array[9]==(x7-100)){
    tf2.setText("萧十一郎");
   }
   if(array[9]==(x8-100)){
    tf2.setText("王老吉");
   }
   if(array[9]==(x9-100)){
    tf2.setText("费得南");
   }if(array[9]==(x10-100)){
    tf2.setText("林无敌");
   }
   if(array[9]==array[8]||array[9]==array[7]||array[9]==array[6]||array[9]==array[5]||array[9]==array[4]||array[9]==array[3]||array[9]==array[2]||array[9]==array[1]||array[9]==array[0]){
    tf2.setText("并立第一,请看图!");
   }
   if(jb1.isSelected()){
    jb1.setEnabled(true);
    }else {
     jb1.setEnabled(false);
    }
    if(jb2.isSelected()){
    jb2.setEnabled(true);
    }else {
     jb2.setEnabled(false);
    }
    if(jb3.isSelected()){
    jb3.setEnabled(true);
    }else {
     jb3.setEnabled(false);
    }
    if(jb4.isSelected()){
    jb4.setEnabled(true);
    }else {
     jb4.setEnabled(false);
    }
    if(jb5.isSelected()){
    jb5.setEnabled(true);
    }else {
     jb5.setEnabled(false);
    }
    if(jb6.isSelected()){
    jb6.setEnabled(true);
    }else {
     jb6.setEnabled(false);
    }
    if(jb7.isSelected()){
    jb7.setEnabled(true);
    }else {
    jb7.setEnabled(false);
    }
    if(jb8.isSelected()){
    jb8.setEnabled(true);
    }else {
     jb8.setEnabled(false);
    }
    if(jb9.isSelected()){
    jb9.setEnabled(true);
    }else {
     jb9.setEnabled(false);
    }
    if(jb10.isSelected()){
    jb10.setEnabled(true);
    }else {
     jb10.setEnabled(false);
    }
  
  }else if(btn==btn2){
   jb1.setSelected(false);
   jb2.setSelected(false);
   jb3.setSelected(false);
   jb4.setSelected(false);
   jb5.setSelected(false);
   jb6.setSelected(false);
   jb7.setSelected(false);
   jb8.setSelected(false);
   jb9.setSelected(false);
   jb10.setSelected(false);
   jb1.setEnabled(true);
   jb2.setEnabled(true);
   jb3.setEnabled(true);
   jb4.setEnabled(true);
   jb5.setEnabled(true);
   jb6.setEnabled(true);
   jb7.setEnabled(true);
   jb8.setEnabled(true);
   jb9.setEnabled(true);
   jb10.setEnabled(true);
  }
  else if(btn==btn3){
   JFileChooser jf=new JFileChooser();
   jf.showSaveDialog(ElectToo.this);
   String filename=jf.getSelectedFile().getAbsolutePath().trim();
   FileWriter fw;
      BufferedWriter bw;
      try{
       fw=new FileWriter(filename+".txt");
       bw=new BufferedWriter(fw);
       String array[]={jb1.getText(),":", lab4.getText(),"/r/n",jb2.getText(),":", lab5.getText(),"/r/n",jb3.getText(),":", lab6.getText(),"/r/n",jb4.getText(),":", lab7.getText(),"/r/n",jb5.getText(),":", lab8.getText(),"/r/n",jb6.getText(),":", lab9.getText(),"/r/n",jb7.getText(),":", lab10.getText(),"/r/n",jb8.getText(),":", lab11.getText(),"/r/n",jb9.getText(),":", lab12.getText(),"/r/n",jb10.getText(),":", lab13.getText()};
       for(int i=0;  i<array.length; fw.write(array[i]));
       fw.close();
       JOptionPane.showMessageDialog(null,"保存成功") ;
       dg.dispose();
      } catch(IOException ioe)
      {
     JOptionPane.showMessageDialog(null,"保存失败") ;
      }
  }else if(btn==btn4){
   dg.dispose();
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值