如何在按钮上显示图像之间出现延迟?

时间:2015-11-16 21:58:34

标签: java

我正在尝试显示骰子,但希望在显示每个骰子之间有延迟。我的代码如下。下面的代码发生的是延迟发生但它只发生一次然后出现所有骰子。延迟后立即显示所有模具。我希望循环的每次迭代都会发生延迟,每次延迟后一次显示一个裸片。

            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]);
            }

1 个答案:

答案 0 :(得分:0)

最有可能的是,您在主Event循环中执行此操作,因此在从方法返回之前不会重绘控件。您需要做的是在基于SwingWorker的单独线程中运行此逻辑,在该线程中您将更新骰子。