我正在尝试编写一种西蒙说的代码,在该代码中您重复在屏幕上闪烁的颜色。所以我想将盒子从深绿色变成闪烁的亮绿色,但是然后使用Thread.sleep()使其等待2秒钟,直到我变回深绿色。但是我的代码不起作用。有人可以帮我找出原因吗?
您可以在我的代码中看到,我只尝试了绿色。我只是不明白为什么它不起作用。
private void start()
{
WinOrLose.setText("Level: " + level);
randomInput.add(((int)((Math.random()*4)+1)));
for(int i : randomInput)
{
if(i == 1)
{
GreenBox.setBackground(green);
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
Logger.getLogger(SimonSays.class.getName()).log(Level.SEVERE, null, ex);
}
GreenBox.setBackground(darkGreen);
}
else if(i == 2)
{
RedBox.setBackground(red);
}
else if(i == 3)
{
YellowBox.setBackground(yellow);
}
else if(i == 4)
{
BlueBox.setBackground(blue);
}
}
}
我希望它先打印色阶:然后将色阶打印到WinOrLose框中,然后闪烁绿色,红色,蓝色或黄色的随机颜色2秒钟,然后再变回深色。我得到的是等待2秒钟以打印Level:1,然后完全不将盒子更改为明亮的颜色。 (在我的代码中,如果随机颜色现在是绿色,直到我弄清楚它是如何工作的,我才使用Thread.sleep()。)此外,未提供某些代码段,例如某些对象和对象的声明和实例化。