我正在使用 Java Swing 编写游戏。我想在每次循环执行时绘制一个小延迟,以在屏幕上创建级联效果。我相信系统中的效率例程正在将调用折叠repaint()
成一个调用。无论如何,这些变化都是在总延迟之后立即发生的。是否有某种方法可以强制系统立即重新绘制,然后在循环的每次迭代中延迟?
我的代码:
for(int i=0;i<10;i++){
JButton[i].setBackground(Color.WHITE);
JButton[i].repaint();
Thread.sleep(2000);
JButton[i].setBackground(Color.GRAY);
JButton[i].repaint();
}