Java 使ImageIcon无限循环

Java 使ImageIcon无限循环,java,infinite-loop,gif,imageicon,Java,Infinite Loop,Gif,Imageicon,我正试图在我的画布上用Java显示一个图像图标一个动画.gif图像文件。当我像这样绘制图像图标时: this.character = new ImageIcon("resources/test.gif"); public void render(Point position, GuiComponent gui, Container observer) { Graphics graphics = gui.getGraphics(); character.paintIcon(obs

我正试图在我的画布上用Java显示一个图像图标一个动画.gif图像文件。当我像这样绘制图像图标时:

this.character = new ImageIcon("resources/test.gif");

public void render(Point position, GuiComponent gui, Container observer) {
    Graphics graphics = gui.getGraphics();
    character.paintIcon(observer,  graphics, position.x, position.y);
}

gif只循环一次,而我希望无限期地获得gif循环。有人知道怎么做吗?

在新创建的图标上,尝试使用:

icon.getImage().flush();
然后呢

label1.setIcon(icon); 

您需要调用character.paintIconobserver、graphics、position.x、position.y;在新线程上的循环中。您可以使用JLabel,它将自动执行此操作,但问题缺乏上下文,无法知道什么样的解决方案是最好的suggest@Aeshang我如何知道我必须每隔多长时间重新绘制图标?或者你只能通过手动安装一个特定的超时来实现这一点?@MadProgrammer动画gif是一个平台游戏中玩家的图像,并且在每次重新绘制操作中都会被重新绘制。根据我有限的实验,你应该能够反复调用paintIcon,只要你的刷新至少达到GIFs帧速率,它就会绘制得很好