我正在尝试执行此for循环,并在每次重绘暂停时显示板上的更改。我已经尝试了使用Java Swing Timer和Thread.Sleep的不同方法,但是都没有成功。显示每个凹坑(扩展的JButton类)改变颜色一秒钟,然后返回原始颜色,然后改变下一个...等等,直到for循环完成的最佳方法是什么?
当我使用Thread.Sleep时,它将贯穿睡眠值的持续时间,然后显示最终状态,但没有中间步骤。
public void move(Pit curr) {
int i;
for (i = curr.getID() + 1; i <= (curr.getID() + curr.getValue()); i++) {
pits[i % 14].colorState = true;
incrementCount(pits[i % 14]);
if (i > curr.getID() + 1)
pits[(i - 1) % 14].colorState = false;
repaint();
}
updateCount(curr, 0);
pits[(i - 1) % 14].colorState = false;
repaint();
}