【发布时间】:2014-11-10 18:39:43
【问题描述】:
我正在尝试在我的 Java 画布上显示一个 ImageIcon(动画 .gif 图像文件)。当我像这样绘制 ImageIcon 时:
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 循环。有谁知道怎么做?
【问题讨论】:
-
需要调用 character.paintIcon(observer, graphics, position.x, position.y);在一个新线程的循环中。
-
您可以使用 JLabel,它会自动执行此操作,但该问题缺乏上下文来了解最佳建议的解决方案
-
@Aeshang 我怎么知道我必须在什么时间间隔重新绘制图标?还是只能通过手动安装特定的超时来做到这一点?
-
@MadProgrammer 动画 gif 是平台游戏中玩家的图像,在每次重绘操作中都会重绘。
-
你应该可以反复调用paintIcon,根据我有限的实验,只要你刷新至少以GIF帧速率它应该画得很好
标签: java infinite-loop gif imageicon