gpt4 book ai didi

java - 暂停图形?

转载 作者:行者123 更新时间:2023-12-01 18:30:24 24 4
gpt4 key购买 nike

所以我有这个 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 循环(第二个)中,我想将其暂停半秒,以便您可以看到它绘制每个图 block 。问题是,当我使用时

Thread.sleep(500);

在第二个 for 循环之后,它就永远停止了整个事情。如果我使用

g.wait(500);

它不断发送垃圾邮件

java.lang.IllegalMonitorStateException

在控制台中。是的,它被 try/catch 包围。我怎样才能暂停这个?

最佳答案

在 Swing 计时器上调用repaint(50L, x*16, y*16, 16, 16);。使用当前状态的字段(xy)、

并且在每个paintComponent上仅绘制该状态/图 block 。

关于java - 暂停图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24486705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com