Java repaint()不调用paintComponent(),即使使用计时器类

Java repaint()不调用paintComponent(),即使使用计时器类,java,swing,timer,Java,Swing,Timer,我有一个程序,它使用两个计时器(一个用来更新屏幕上对象的x,y),另一个用来调用JPanel的repaint()。最初我使用Thread.sleep()和while循环来完成这个任务,但在阅读了其他文章后,我意识到我应该使用计时器 如果计时器延迟为50毫秒(对于两个计时器),并且在1000毫秒时非常滞后(经过一段时间后,它也停止调用paintComponent),则程序不工作 有没有办法让它工作的滞后性更小?要更快地获得更好的帮助,请发布一个or。不知道为什么你有两个计时器。在第一个计时器中更改

我有一个程序,它使用两个计时器(一个用来更新屏幕上对象的x,y),另一个用来调用
JPanel的
repaint()
。最初我使用
Thread.sleep()
和while循环来完成这个任务,但在阅读了其他文章后,我意识到我应该使用计时器

如果
计时器
延迟为50毫秒(对于两个计时器),并且在1000毫秒时非常滞后(经过一段时间后,它也停止调用
paintComponent
),则程序不工作


有没有办法让它工作的滞后性更小?

要更快地获得更好的帮助,请发布一个or。不知道为什么你有两个计时器。在第一个计时器中更改x/y值后,只需调用repaint()。@AndrewThompson,对不起,我是一个新手,但如何将代码放在我的帖子上?@camickr谢谢,我试过了,但仍然有同样的问题。我甚至试着做Graphics g=panel.getGraphics(),然后是paintComponent(g),但同样的问题也出现了;(不需要复杂的方法来固定螺纹)。我的面板是帆布风格的,我只是每隔1000毫秒不断地拍打缓冲图像