java - 使用 Thread.sleep 时 JApplet 内容会被清除

标签 java

我创建了一个扩展JApplet的类。当我尝试做时

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

小程序的内容消失了!

最佳答案

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

 new Thread(new Runnable() {

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

                }
            }).start();

关于java - 使用 Thread.sleep 时 JApplet 内容会被清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27576846/

相关文章:

Java - 在本例中如何使用按位移位运算符反转字节数组?

java - 使用 Stream API 嵌套 foreach

java - 在 JFreeChart 中更改温度计中的 Mercurial 颜色

java - Hadoop3 : worker node error connecting to ResourceManager

java - 如何在 Java 中压缩 Blob 值(PDF)

Java 图形绘制在现有图形之上

java - 数组代码在楼梯模型中如何工作?

Java JPA boolean 字段数据库

java - 如何在 Netbeans 中添加 SteelSeries javadoc?

java - 在 Java 中解压缩包含多个文件和目录的 7zip 存档