目的
编写一个班级推选优秀生的软件,可列出参与推优的学生名单,能够显示当前投票人数以及每名候选者得票数,以图形化显示得票数。
代码
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();
}
}
要吐了,写不完了