AWT/Swing中GIF动画是怎么update的

Kylixs 2007-02-28 05:51:21
当加载的GIF动画需要更新时,到底是哪里开始的?
这个问题已经很久了
g.drawImage(image,x,y,ImageObserver);
最后一个参数就是通知观察者去repaint的,但在哪里代码通知观察者的?一直找不到,也不了解其中原理,awt的图像类体系真是复杂…………
...全文
410 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mdxk 2007-03-06
  • 打赏
  • 举报
回复
mark
gtlang78 2007-03-05
  • 打赏
  • 举报
回复
import java.awt.BorderLayout;
import java.awt.Image;
import java.io.IOException;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class T
{
public static void main(String[] args) throws IOException
{
JFrame f = new JFrame();
f.getContentPane().add(new JLabel(new ImageIcon("C:/test.gif")) {
@Override
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
{
Thread.dumpStack();
return super.imageUpdate(img, infoflags, x, y, w, h);
}
}, BorderLayout.CENTER);
f.pack();
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Kylixs 2007-03-05
  • 打赏
  • 举报
回复
我晕,也怪我没说清楚.....
意思是:
知道可以设置通过"图像观察者"去更新GIF动画,但底层的触发是从哪里开始的?顺便说说awt图像类相关体系....
XXKKFF 2007-03-02
  • 打赏
  • 举报
回复
mark
Moon 2007-03-01
  • 打赏
  • 举报
回复
Thread.sleep(XXXXX毫秒)
在线程运行的时候update一下
LZ可以试试看~
Kylixs 2007-03-01
  • 打赏
  • 举报
回复
不要让我这么失望好不?怎么问的问题在CSDN都没回应.....

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧