当前位置: 代码迷 >> J2SE >> Thread sleep 使用有关问题
  详细解决方案

Thread sleep 使用有关问题

热度:387   发布时间:2016-04-24 16:26:54.0
Thread sleep 使用问题。
帮忙看一下运行时候这个
p1.text3.setText( "超过10次,重新开始.\n正确答案是: ");
显示不出来。。。。。。。


import   java.awt.*;
import   java.awt.event.*;
import   java.io.*;
import   javax.swing.*;

class   mianban   extends   JPanel
{
JButton   b1;
JLabel   text1;
JTextField   text2;
JTextArea   text3;

mianban()
{ setLayout(new   BoxLayout(this,BoxLayout.Y_AXIS));
b1=new   JButton( "确定 ");
text1=new   JLabel( "请输入四位数字: ");
text2=new   JTextField(10);
text3=new   JTextArea(10,10);
add(text1);
add(new   JLabel( "您输入的数字是: "));
add(text2);
add(new   JLabel( "目前您猜得结果是 "));
add(text3);
add(b1);

}
}


public   class   jtestframe   extends   JFrame   implements   ActionListener
{

mianban   p1=new   mianban();
int   num[];
int   i;  
String   str;
int   times=0;
int   A,B;

jtestframe(String   str)
{

super(str);
getContentPane().add(p1);


setSize(600,400);
setVisible(true);
p1.b1.addActionListener(this);
addWindowListener(new   shut());


}
public   void   rand()
{ num=new   int[10];
for(i=0;i <4;i++)
{
num[i]=(int)(Math.random()*10);
int   j=0;
while(j <i)
{if(num[j]==num[i])
{num[i]=(int)(Math.random()*10);
continue;
}

j++;
}
}


}

public   void   compair()  
{
int   x,m,n;
x=Integer.parseInt(p1.text2.getText());
A=0;B=0;
for(m=3;m> -1;m--){
for(n=0;n <4;n++){

if((int)(x/Math.pow(10,m))==num[n])
{
if(m+n==3)
A++;
else
B++;
}

}


x=x-(int)(x/Math.pow(10,m))*(int)(Math.pow(10,m));

}

}



public   void   actionPerformed(ActionEvent   e)
{

if(e.getSource()==p1.b1)
if(times <10){
        if(Integer.parseInt(p1.text2.getText()) <1000||Integer.parseInt(p1.text2.getText())> 9999)
p1.text2.setText( "输入数字不合法 ");
else
{   if(A==4)
          p1.text2.setText( "猜对了 ");

times++;

compair();
p1.text3.append( "第 ");
p1.text3.append(String.valueOf(times));
p1.text3.append( "猜的结果是: ");
p1.text3.append(String.valueOf(A));p1.text3.append( "A ");
p1.text3.append(String.valueOf(B));p1.text3.append( "B ");
p1.text3.append( "\n ");

}
}
else

            {

p1.text3.setText( "超过10次,重新开始.\n正确答案是: ");

//thread1   t1=new   thread1();
//t1.start();
times=0;
int   y=num[3]*1000+num[2]*100+num[1]*10+num[0];

p1.text3.append(String.valueOf(y));

// try{Thread.sleep(1000);}
// catch(InterruptedException   e1){}

p1.text3.setText( " ");
rand();
}
}
  相关解决方案