JavaSwing使用简单多线程实现随机点名可视化应用程序

JavaSwing使用简单多线程实现随机点名可视化应用程序

1.首先来看一下小程序最终实现的效果
  • 初始界面
    在这里插入图片描述
  • 运行及终止界面
    在这里插入图片描述
    ps:运行状态中显示的名称是随机变换的,但是截图并不能看出效果哦^_^。
2.具体的实现过程及方法

首先我们用JavaSwing先把这个界面写出来,然后再在相应的控件按钮上添加点击事件,实现不同的控制逻辑即可,下面一起看看具体的实现过程吧^_^。

  • 开始按钮的事件及实现
	//定义开始按钮
	JButton btnStart = new JButton("开始");
	btnStart.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
		    //防止重复点击开始按钮以致多次创建线程
			if(startThread==null||!startThread.isAlive())
			{
				startThread=new Thread(new Runnable(){
					
					public void run(){
						while(true)
						{
							try {
								start();
								//设置随机的间隔时间ms				
								Thread.sleep(50);	
							} catch (InterruptedException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
									
						}		
					}			
				});
				startThread.start();	
			}							
		}			
	});
  • 停止按钮的事件及实现
	//定义停止按钮
	JButton btnEnd = new JButton("停止");
	btnEnd.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			//判断当前线程是否存在
			if(startThread!=null)
			{
				startThread.stop();
			}
		
		}
	});
  • start()方法的定义
public void start() throws InterruptedException{
		//定义班级同学姓名
		String[] classnames={"小王","小李","小赵","小张","小黄","小程","小肖"};
		
		//定义一个整型随机数
		Random ran=new Random();
		int selectedNum=ran.nextInt(classnames.length);
		
		//随机选中一个名称,并在UI上显示
		String name=classnames[selectedNum];
		lblName.setText(name);	
		
	}

其实这里的数据源我们可以改成从数据库中获取学生姓名,这样就更加贴近实际的应用,我们在这里只是为了方便而已。。。


好了,当我们做完这一切的设计后,我们也就可以感受一下老师在点名的感觉了^^。
tips:不管发生什么事,都请安静且愉快地接受人生,勇敢地、大胆地,而且永远地微笑着。
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值