所以我有这个 JPanel 图形代码:
public void paint(Graphics g){
super.paint(g);
for(int y=0 ;y < 50; y++){
for(int x = 0; x < 50; x++){
if(m.getMaze(x, y).equals("g")){
g.drawImage(m.getGround(), x * 16, y * 16,null);
}
if(m.getMaze(x, y).equals("w")){
g.drawImage(m.getWall(), x * 16, y * 16,null);
}
if(m.getMaze(x, y).equals("S")){
g.drawImage(m.getStart(), x * 16, y * 16,null);
}
if(m.getMaze(x, y).equals("E")){
g.drawImage(m.getEnd(), x * 16, y * 16,null);
}
}
}
}
在 for 循环(第二个)中,我想暂停半秒,这样你就可以看到它在绘制每个图块。问题是,当我使用
Thread.sleep(500);
在第二个 for 循环之后,它只会永远停止整个事情。如果我使用
g.wait(500);
它不断发送垃圾邮件
java.lang.IllegalMonitorStateException
在控制台中。是的,它被 try/catch 包围。我怎样才能暂停这个?