gpt4 book ai didi

java - 有时会自动调用 repaint() 吗?

转载 作者:行者123 更新时间:2023-12-01 07:06:42 25 4
gpt4 key购买 nike

我正在制作一个游戏。游戏中的每个对象都在注册表中注册。我有一个由游戏循环调用的更新和渲染方法。渲染方法在我的 JPanel 上调用 repaint(),并且我已经覆盖了图形的 paintComponent(Graphics g)。当它渲染和更新时,它会遍历每个对象并更新它并从注册表中渲染它。有时我会遇到并发修改错误,我相信这是因为有东西正在调用 paintComponent() 而不是从我的游戏循环中调用。如果 JPanel 甚至 JFrame 自行调用重绘,有什么方法可以禁用它吗?

最佳答案

不,repaint() 不会自动调用,但 paint(Graphics g) 有时会自动调用,并且您无法控制这一点。此外,如果您的 repaint() 调用“堆积”,则可能会被忽略。有关更多信息,请查看这篇文章:Painting in AWT and Swing .

希望您的paintComponent 方法中没有程序逻辑。如果这样做,请将其从那里取出。

关于java - 有时会自动调用 repaint() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22275668/

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