生活随笔
收集整理的這篇文章主要介紹了
【Java多线程编程】选号程序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
結(jié)合GUI程序設(shè)計(jì),編寫選號程序,要求在窗體中安排6個標(biāo)簽,每個標(biāo)簽上顯示0~9之間的一位數(shù)字,每位數(shù)字用一個線程控制其變化,單擊“停止”按鈕則所有標(biāo)簽數(shù)字停止變化。下面是運(yùn)行結(jié)果圖,注釋請看代碼。
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;//六個標(biāo)簽線程,產(chǎn)生隨機(jī)數(shù)
class MyLabel extends Label implements Runnable{int value;boolean stop =false;public MyLabel(){super("number");value =0;}@Overridepublic void run() {// TODO Auto-generated method stubwhile(true){value =(int)(Math.random()*10);setText(Integer.toString(value));try{Thread.sleep(500);}catch (InterruptedException e){}if(stop){break;}} }}
//主控線程,利用數(shù)組管理六個標(biāo)簽,利用判定條件結(jié)束子線程
public class test24 extends Frame{/*** 六個隨機(jī)選號線程,一個主控線程* @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() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubfor(int i=0;i<6;i++){x[i].stop =true;}}});}public static void main(String[] args) {// TODO Auto-generated method stubnew test24("選號程序");}
}
總結(jié)
以上是生活随笔為你收集整理的【Java多线程编程】选号程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。