⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectpane.java

📁 添加侯选人,统计选票,查看选举结果,结果按选票数量从大到小排列
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
public class SelectPane extends Panel implements ActionListener,ItemListener
{
	Label label=new Label("请将你推选的人选中:");
	int maxSelectedNumber;
	int  弃权票数;
	int totalVote;
	PersonSelected personSelected[];
	Button button;
	SelectPane(PersonSelected personSelected[],int max)
	{
		this.personSelected=personSelected;
		maxSelectedNumber=max;
		button=new Button("确认");
		button.addActionListener(this);
		init();
	}
	public void init()
	{
		removeAll();
		add(label);
		for(int k=0;k<personSelected.length;k++)
		{
			personSelected[k].getBox().addItemListener(this);
			add(personSelected[k].getBox());
		}
		add(button);
		validate();
		
	}
	public void actionPerformed(ActionEvent e)
	{
		totalVote=totalVote+1;
		int number=0;
		for(int k=0;k<personSelected.length;k++)
		{
			if(personSelected[k].getBox().getState())
			{
				number++;
			}
		}
		if(number==0)
		{
			弃权票数++;
			
		} 
		else {
			for(int k=0;k<personSelected.length;k++)
			{
				if(personSelected[k].getBox().getState())
				{
					personSelected[k].addCount();
					personSelected[k].getBox().setState(false);
				}
			}
		}
		label.setText("已统计了:"+totalVote+"张选票,其中弃权张数为:"+弃权票数);
		validate();
	}
	public void itemStateChanged(ItemEvent e)
	{
		Checkbox box=(Checkbox)e.getItemSelectable();
		int number=0;
		for(int k=0;k<personSelected.length;k++)
		{
			if(personSelected[k].getBox().getState())
			{
				number++;
			}
		}
		if(number>maxSelectedNumber)
		{
			box.setState(false);
		}
	}
	public PersonSelected[] getPersonSelected()
	
	{
		return personSelected;
	}
	public void setPersonSelected(PersonSelected personSelected[])
	{
		this.personSelected=personSelected;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -