日期:2014-05-20  浏览次数:20680 次

找了半天没找出来是哪的问题,哪位大大看看啊
写得一个双色球线程 前6个数字要不相等的

package 双色球;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 *
 * @author Administrator
 */
public class ChooseNumber extends JFrame{
  MyLabel x[]=new MyLabel[6];
  MyLabel1 y=new MyLabel1();
  JButton control;
   
  public ChooseNumber(String title){
  super(title);
  JPanel disp=new JPanel();
  disp.setLayout(new FlowLayout());
  for(int i=0;i<6;i++){
  x[i]=new MyLabel();
  x[i].setForeground(Color.red);
  disp.add(x[i]);
  new Thread(x[i]).start();
  if(i==5)
  {
  y.setForeground(Color.blue);
  disp.add(y);
  new Thread(y).start();
  }
  }
  add("Center",disp);
  control=new JButton("停止");
  add("South",control);
  setSize(250,100);
  setVisible(true);
  Toolkit kit =Toolkit.getDefaultToolkit();
  Dimension s=kit.getScreenSize();
  setLocation(s.width/2-125,s.height/2-200);
  control.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  String str=control.getText();
  if(str.equals("停止"))
  {
  int []a=new int[6]; //从这里开始定义一个数组存入6个不形同的值
  boolean b;
  for(int i=0;i<6;i++)
  {
  a[i]=(int)(Math.random()*32)+1;
  if(i>0)
  {
  b=true;
  int n=0;
  while(b)
  {
  if(a[i]!=a[n])
  {
  n++;
  if(n==i)
  b=false;
  }
  else a[i]=(int)(Math.random()*32)+1;
  }
  }
  }
  for(int i=0;i<6;i++)
  {
  x[i].value=a[i]; // 然后在这里将值传出显示出来
  x[i].stop=true;
  if(i==5)
  y.stop=true;
  }
  control.setText("开始");  
  }
   
  if(str.equals("开始"))
  {
  for(int i=0;i<6;i++)
  {
  x[i].stop=false;
  new Thread(x[i]).start();
  if(i==5)
  {
  y.stop=false;
  new Thread(y).start();
  }
  }
  control.setText("停止");