Java 向for循环添加计时器

Java 向for循环添加计时器,java,timer,Java,Timer,我正在编写代码,根据特定坐标在垄断板上移动令牌块。目前,它在每一个方块上打印,但我正试图让它在每一个方块上打印,使用计时器可以看到每一个方块打印,当它在一个方块上打印时,它会删除前一个方块上的打印,这样令牌一次只能在一个方块上。这是我目前掌握的代码: for(int g=0;g<10;g++) { JLabel redtoken = new JLabel(new ImageIcon ("src/TokenRed.png"));

我正在编写代码,根据特定坐标在垄断板上移动令牌块。目前,它在每一个方块上打印,但我正试图让它在每一个方块上打印,使用计时器可以看到每一个方块打印,当它在一个方块上打印时,它会删除前一个方块上的打印,这样令牌一次只能在一个方块上。这是我目前掌握的代码:

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


         } 
使用坐标选择进行测试:标记为红色正方形


如果我没弄错的话,你想看到一个红色的标记从一个广场跳到另一个广场。 我建议这样做:

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

}

可能的副本不是副本。这个问题还涉及删除前一个方块上的打印。您不需要计时器,您需要在添加新标记之前删除任何前一个标记。谢谢您,但我在Thread.sleep300上收到一个未处理的异常类型InterruptedException错误;程序当前需要几秒钟加载,然后当它打开时,令牌出现在数组中的最后一个方块上,这意味着您只能在执行方法后打印令牌。然后你需要循环打印方法。啊,我明白了。我该怎么办?我是Java新手,所以不太确定如何做到这一点上面的代码似乎不适用于alreadyPrinted和printNewToken