我正在尝试显示骰子,但希望在显示每个骰子之间有延迟。我的代码如下。下面的代码发生的是延迟发生但它只发生一次然后出现所有骰子。延迟后立即显示所有模具。我希望循环的每次迭代都会发生延迟,每次延迟后一次显示一个裸片。
for (int i = 0; i < NUMBEROFDICE; i++)
{
try
{
TimeUnit.MILLISECONDS.sleep(500);
}
catch (InterruptedException e1)
{
e1.printStackTrace();
}
num = (int)(Math.random() * 6) + 1;
tempIcon = new StretchIcon("" + num + "die.png");
addPicToButton(tempIcon, dice[i]);
}
答案 0 :(得分:0)
最有可能的是,您在主Event循环中执行此操作,因此在从方法返回之前不会重绘控件。您需要做的是在基于SwingWorker的单独线程中运行此逻辑,在该线程中您将更新骰子。