如何在Java中消除动画gif中的闪烁?

如何在Java中消除动画gif中的闪烁?,java,swing,gif,Java,Swing,Gif,我一直在尝试在画布中使用缓冲策略在JFrame中实现一个游戏,但我似乎无法让我的动画.gif图像(实现为新图像图标().getImage())在不闪烁的情况下播放 我认为问题在于.gif刷新率和画布重画的速度,但这只是一个猜测。我已经尝试了几个小时各种各样的事情,在互联网上搜索了一些解决方案,但其中一个还没有出现。任何帮助都将不胜感激 另一方面,.gif工作正常。它在XnView等图像查看程序中不会闪烁,在超级简单的JFrame程序中作为JLabel也能很好地发挥作用。增加堆空间,可能会有所帮助

我一直在尝试在
画布中使用
缓冲策略
JFrame
中实现一个游戏,但我似乎无法让我的动画
.gif
图像(实现为
新图像图标().getImage()
)在不闪烁的情况下播放

我认为问题在于
.gif
刷新率和画布重画的速度,但这只是一个猜测。我已经尝试了几个小时各种各样的事情,在互联网上搜索了一些解决方案,但其中一个还没有出现。任何帮助都将不胜感激


另一方面,
.gif
工作正常。它在XnView等图像查看程序中不会闪烁,在超级简单的
JFrame
程序中作为
JLabel
也能很好地发挥作用。

增加堆空间,可能会有所帮助。1)不要将AWT与Swing混用。2) 使用JLabel。3) 如果画布与
JLabel
一起正常工作,为什么要使用
Canvas
?为什么你想改变一些有效的东西?+1对纪尧姆,我做了同样的事情,当我调整堆空间时闪烁消失了,但实际原因是混合了AWT和Swing。我尝试移除所有Swing组件,使所有东西都成为框架和画布。我尝试将堆空间增加到1gb,但仍然闪烁。有关提示,请参阅。放弃AWT。你不会得到很好的帮助,因为大多数人已经忘记了细节。