package domain;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import dao.Group;
import dao.ReadExcel;
public class IndexMain {
//名字
//String[] stuName={"杨诒","卢辉","荣鹏","刘健鹏","赵琨","鲁仕荣","许竞前","李攀","廖若辉","马鹏","曹天宇","李永成","童旭明","郭政誉","冯晓乐","王璐璐","王丹","刘慧兰","何发海","刘柏瑜"};
public List<Group> groups = new ArrayList<Group>();
//组数 默认第一组
public int nu=0;
//主面板
JFrame rFrame=new JFrame("按组随机点人器");
//用于存储组数的
JLabel num = new JLabel("组数:");
//用于存储名字的标签
JLabel name = new JLabel();
//按钮
JButton btn = new JButton("开始点名");
JLabel userLabel = new JLabel("组数:");
//组数
JTextField numText = new JTextField(5);
//采用的是伪随机数,大家也可以不用这个,这个在网上可以找到java随机数的设置
Random rd = new Random();
//获取数据
public void readDate() {
ReadExcel readExcel = new ReadExcel();
groups=readExcel.read();
}
public void init()
{
//获取数据
readDate();
//提示标题标签页面
JLabel jt= new JLabel("按组随机点人器");
//设置标签居中
jt.setHorizontalAlignment(SwingConstants.CENTER);
//设置字体大小
jt.setFont(new java.awt.Font("随机点名器",1,35));
//设置名字显示的标签居中
name.setHorizontalAlignment(SwingConstants.CENTER);
//通过匿名类实现Action按钮的监听事件
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) {
//获取组数
nu = Integer.parseInt(numText.getText());
//获取随机的姓名
String n=getRandomName();
//设置name标签的文字
name.setText(n);
//设置字体
name.setFont(new java.awt.Font(n,1,35));
//设置字体颜色
name.setForeground(Color.red);
}
});
//获取JFrame的面板
Container p = this.rFrame.getContentPane();
userLabel.setBounds(50,50,80,55);
p.add(userLabel);
numText.setBounds(100,50,120,55);
p.add(numText);
//设置布局方式,我采用的BorderLayout布局
p.setLayout(new BorderLayout(3,1));
//添加提示标签在北方
p.add(jt,BorderLayout.NORTH);
//添加姓名标签在中央
p.add(name,BorderLayout.CENTER);
//添加按钮控件在南方
p.add(btn,BorderLayout.SOUTH);
//调整大小,这个是java中无法设置标签的大小
rFrame.pack();
//设置窗体大小
rFrame.setSize(300, 300);
//设置可以显示
rFrame.setVisible(true);
rFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//获取随机的姓名
public String getRandomName()
{
int result = 0;
int first = 0;
int op = 0;
for(int j=0;j<groups.size();j++)
{
if(groups.get(j).getNumber()==nu)
{
result = j;
first = groups.get(j).getNameList().size();
op = 1;
break;
}
}
if(op==0)
{
return "没有这组数据";
}
System.out.println("测试长度"+first);
//random类去实现随机数时,只能设置上限,也就是说随机数产生的都是0-groups.get(nu).getNameList().size()之间的数字
first = rd.nextInt(first);
//rd.setSeed();
//a = (int)Math.random()*stuName.length;
System.out.println("产生的随机数是:"+first);
return groups.get(result).getNameList().get(first);
}
public static void main(String[] args)
{
IndexMain rn=new IndexMain();
rn.init();
}
}

行走的地瓜
- 粉丝: 68
最新资源
- JSP工程师工作述职报告.pptx
- 单片机编程语言基础课件整本书电子教案全套教学教程.ppt
- 计算机教学计划三篇.docx
- HPLC和LC-IT-TOF测定“地沟油”中DBS方法的建立.pdf
- 2023年Excel知识点总结.doc
- PMP项目管理员资格认证考试-12-真题无答案-交互(20211119131232).pdf
- 2023年C常用算法归纳.doc
- NSGA-Ⅱ算法大量测试函数实验结果展示名师优质课获奖市赛课一等奖课件.ppt
- 2023年系统集成项目经理继续教育考试题及答案课程课程刚考完后整理的全部考题汇总.doc
- Windows-xp系统开机菜单含义解释.pptx
- C语言教程第4章1ppt课件.ppt
- 答案最新电大国家开放大学《病理生理学答案》网络核心课形考网考作业试题及答案.docx
- PLC定时器及控制.ppt
- IPO路演PPT-云计算供应链管理方案商E2open.doc
- Cloudera大数据平台环境搭建CDH傻瓜式说明书.docx
- 2023年级计算机本科C期末试卷B卷.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


