0 java graphics swing paintcomponent concurrentmodification
我正在制作游戏.游戏中的每个对象都在注册表中注册.我有一个游戏循环调用的更新和渲染方法.render方法调用repaint()我JPanel,我已经覆盖paintComponent(Graphics g)了图形.当它呈现并更新时,它会遍历每个对象并对其进行更新并从注册表中呈现它.有时候我会得到一个并发修改错误,我相信这是因为有些事情是在paintComponent()我的游戏循环中调用另一个.如果一个JPanel或甚至JFrame调用自己的重绘,有没有办法禁用它?
不,repaint()不会自动调用,但paint(Graphics g)有时会调用,而您无法对此进行控制.此外,repaint()如果他们的电话被"堆叠" ,您的电话可能会被忽略.有关这方面的更多信息,请查看这篇文章:在AWT和Swing中绘画.
希望你的paintComponent方法中没有程序逻辑.如果你这样做,那就把它拿出来吧.