【java】编写一个班级推选优秀生的软件

这里写目录标题

目的

编写一个班级推选优秀生的软件,可列出参与推优的学生名单,能够显示当前投票人数以及每名候选者得票数,以图形化显示得票数。

代码

package login;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class tuiyouFrame extends JFrame implements ActionListener
{
    Checkbox cb1,cb2,cb3,cb4;
    int []num=new int[4];
    int sum=0;
    JLabel piao1,piao2,piao3,piao4;
    JButton bVote=new JButton("投票");
    JButton bClear=new JButton("清除");
    JTextField tx1;
    JTextField tx2;
    public tuiyouFrame()
      {
	    for(int i=0;i<4;i++)
	    {
	    	num[i]=0;
	    }
          setTitle("班级推优");
          this.setBackground(Color.blue);
          setLocation(200,150);
          setSize(700,800);

          this.setLayout(new BorderLayout());
          //北部区域
          JPanel pNorth=new JPanel();
          add("North",pNorth);
          pNorth.setBackground(Color.lightGray);
          JLabel l1=new JLabel("投票人数");
          pNorth.add(l1);
          tx1=new JTextField(10);
          pNorth.add(tx1);
          JLabel l2=new JLabel("最高票");
          pNorth.add(l2);
          tx2=new JTextField(10);
          pNorth.add(tx2);

          //西部区域
          JPanel pWest=new JPanel();
          add("West",pWest);
          pWest.setBackground(Color.lightGray);
          pWest.setLayout(new GridLayout(5,2));//网格布局
          pWest.add(new JLabel("候选人"));
          pWest.add(new JLabel(""));

          ImageIcon icon1=new ImageIcon("C:\\Users\\LENOVO\\Pictures\\pic\\s1.png");
          ImageIcon icon2=new ImageIcon("C:\\Users\\LENOVO\\Pictures\\pic\\s2.png");
          ImageIcon icon3=new ImageIcon("C:\\Users\\LENOVO\\Pictures\\pic\\s3.png");
          ImageIcon icon4=new ImageIcon("C:\\Users\\LENOVO\\Pictures\\pic\\s4.png");

          JLabel t1=new JLabel(icon1);
        

          pWest.add(t1);
          cb1=new Checkbox("AA");
          pWest.add(cb1);
          JLabel t2=new JLabel(icon2);
          pWest.add(t2);
          cb2=new Checkbox("BB");
          pWest.add(cb2);
          JLabel t3=new JLabel(icon3);
          pWest.add(t3);
          cb3=new Checkbox("CC");
          pWest.add(cb3);
          JLabel t4=new JLabel(icon4);
          pWest.add(t4);
          cb4=new Checkbox("DD");
          pWest.add(cb4);


          //东部
          JPanel pEast =new JPanel();
          add("East",pEast);
          pEast.setBackground(Color.lightGray);
          pEast.setLayout(new GridLayout(5,2));
          pEast.add(new JLabel("票数"));
          piao1=new JLabel("0票");
          pEast.add(piao1);
          piao2=new JLabel("0票");
          pEast.add(piao2);
          piao3=new JLabel("0票");
          pEast.add(piao3);
          piao4=new JLabel("0票");
          pEast.add(piao4);

          //南部
          JPanel pSouth=new JPanel();
          add("South",pSouth);
          pSouth.setBackground(Color.lightGray);
          pSouth.setLayout(new FlowLayout());
          pSouth.add(bVote);
          pSouth.add(bClear);
          
          //中部
          JPanel pCenter = new JPanel();
          add("Center",pCenter);
          pCenter.setBackground(Color.lightGray);

          //响应
          bVote.addActionListener(this);
          bClear.addActionListener(this);


          setVisible(true);
      }
      public void actionPerformed(ActionEvent e)
      {
          if(e.getSource()==bVote)
          {
        	  sum++;
        	  String temp1=String.valueOf(sum);
        	  tx1.setText(temp1);
        	  
              if(cb1.getState()) num[0]++;
              if(cb2.getState()) num[1]++;
              if(cb3.getState()) num[2]++;
              if(cb4.getState()) num[3]++;
              int max=num[0];
              for(int i=1;i<4;i++)
              {
            	if(num[i]>max)
            		max=num[i];
              }
              String temp2=String.valueOf(max);
              tx2.setText(temp2);
              piao1.setText(num[0]+"票");
              piao2.setText(num[1]+"票");
              piao3.setText(num[2]+"票");
              piao4.setText(num[3]+"票");
              Graphics g=getGraphics();
              g.setColor(Color.red);
              int left=170;
              int top=255;
              g.fillRect(left,top,num[0]*20,30);
              g.fillRect(left,top+135,num[1]*20,30);
              g.fillRect(left,top+135*2+5,num[2]*20,30);
              g.fillRect(left,top+135*3+7,num[3]*20,30);
          }
          else if(e.getSource()==bClear)
          {
        	  sum=0;
        	  tx1.setText("");
        	  tx2.setText("");
        	  piao1.setText("0票");
        	  piao2.setText("0票");
        	  piao3.setText("0票");
        	  piao4.setText("0票");
        	  Graphics g=getGraphics();
        	  g.setColor(Color.lightGray);
        	  int left=150;
              int top=255;
              g.fillRect(left,top,num[0]*20,30);
              g.fillRect(left,top+135,num[1]*20,30);
              g.fillRect(left,top+135*2+5,num[2]*20,30);
              g.fillRect(left,top+135*3+7,num[3]*20,30);
              for(int i=0;i<4;i++)
              {
            	  num[i]=0;
              }
          }
      }

    public static void main(String[] args) {
        new tuiyouFrame();
    }
}


要吐了,写不完了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值