将计时器添加到for循环

时间:2017-02-17 16:14:40

标签: java timer

我正在编写代码,根据某些坐标将代币块移动到垄断板周围。目前,它打印在每个方块,但我试图让它在每个方块打印,使用计时器,所以你可以看到每个方形打印,当它在一个正方形打印时,它删除前一个方块中的打印,所以令牌一次只能在一个方格中。这是我到目前为止的代码:

for(int g=0;g<10;g++)
         {
             JLabel redtoken = new JLabel(new ImageIcon ("src/TokenRed.png"));
             redtoken.setBounds(x[g],y[g], 10, 10); // Size and position set
             LPane.add(redtoken, new Integer(3)); // Red token set as layer 3


         } 

使用一系列坐标进行测试:(令牌为红场)

enter image description here

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你想看到一个红色标记从正方形到正方形跳跃。 我建议这样的事情:

Object lastPrinted = null;
for(int g=0;g<10;g++)
{
    if(alreadyPrinted != null){
        deleteToken(alreadyPrinted);
    }
    printNewToken(g)
    try {
        Thread.sleep(300);
    } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
        System.err.println(e);
    }

}