【Java多线程编程】选号程序

结合GUI程序设计,编写选号程序,要求在窗体中安排6个标签,每个标签上显示0~9之间的一位数字,每位数字用一个线程控制其变化,单击“停止”按钮则所有标签数字停止变化。下面是运行结果图,注释请看代码。


package XiaoMi;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

//六个标签线程,产生随机数
class MyLabel extends Label implements	Runnable{
	
	int value;
	boolean stop =false;
	
	public MyLabel(){
		super("number");
		value =0;
	}
	
	@Override
	public void run() {
		// TODO Auto-generated method stub
	while(true){
		value =(int)(Math.random()*10);
		setText(Integer.toString(value));
		try{
			Thread.sleep(500);
		}catch (InterruptedException e){}
		if(stop){
			break;
		}
	}	
	}
	
}
//主控线程,利用数组管理六个标签,利用判定条件结束子线程
public class test24 extends Frame{

	/**
	 * 六个随机选号线程,一个主控线程
	 * @param args
	 */
	MyLabel x[] =new MyLabel[6];
	
	public test24(String title){
		super(title);
		Panel disp =new Panel();
		disp.setLayout(new FlowLayout());
		for(int i=0; i<6; i++){
			x[i] =new MyLabel();
			disp.add(x[i]);
			new Thread(x[i]).start();
		}
		add("Center",disp);
		Button control =new Button("停止");
		add("South",control);
		pack();
		setVisible(true);
		control.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				for(int i=0;i<6;i++){
					x[i].stop =true;
				}
			}
		});
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new test24("选号程序");
	}
}


阅读更多
个人分类: 多线程编程
上一篇揭秘TensorFlow:Google开源到底开的是什么?
下一篇【Java多线程编程】主线程对其他线程的控制
想对作者说点什么? 我来说一句

自动选号程序

2012年12月21日 440B 下载

一个福利彩票选号程序

2006年01月13日 12KB 下载

没有更多推荐了,返回首页

关闭
关闭