使用Thread.sleep时JApplet内容清除

时间:2014-12-20 04:12:10

标签: java

我创建了一个扩展JApplet的课程。我试图做的时候

while(whichButtonChosen==null){
try{
Thread.sleep(1);
}catch(InterruptedException e){
e.printStackTrace();
}

小程序的内容消失了!

1 个答案:

答案 0 :(得分:2)

您必须将此循环放在Thread中。如果你像现在一样在GUI线程上运行它,GUI将不会绘制它的组件(因为它在循环中变得忙碌)并且看起来是空的。

 new Thread(new Runnable() {

                @Override
                public void run() {
    while(whichButtonChosen==null){
    try{
    Thread.sleep(1);
    }catch(InterruptedException e){
    e.printStackTrace();
    }

                }
            }).start();