我有这个问题。
我正在做一个简单的游戏,用JDialog找到一个数字。当我按下“START”按钮时,数字必须改变它,但是在迭代器停止后数字不会改变。
boolean found = False;
Random random = new Random();
for (int i = 0; i < 10 && !found; i++) {
try {
Thread.sleep(100);
int n = random.nextInt(10)+1;
lblNewLabel_1.setText(String.valueOf(n));
if(n == numeroLoteria){
found = true;
System.out.println("Encontrado numero "+n+"!");
}
System.out.println("Iteracion "+i+"\nnumero: "+n);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
必须更改的标签是lblNewLabel_1。
我想在每次迭代中更改它。
答案 0 :(得分:1)
查看Oracle的Concurency In Swing教程。
夫妻关键点
javax.swing.*
中的类。编辑正如评论中所提到的,您不应该阻止EDT。