关于在JAVA中绘画GIF动画文件的问题!非常的奇怪!!!

MAX°孟兆 2004-12-06 05:55:02
我先从JPanel类继承一个新类A,然后得写其paintComponent()方法,并在其中加入如下代码:
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// imgObj is a GIF file.
g.drawImage(imgObj, 100, 100, this);
}

这段代码能正常的工作,显示动态的GIF。
但如果我将这段代码转移到另一个类中动画就不动了。

public class B
{
public void ggg(Graphics g)
{
g.drawImage(imgObj, 100, 100, this);
}
}

------------------------
...
B bbb = new B();
...
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// imgObj is a GIF file.
bbb.ggg(g);
}


请教各位!!!!
...全文
257 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
febchen 2004-12-06
  • 打赏
  • 举报
回复
楼上说的对,所以要将图形所显示的那个panel或其他画板对象传入B中才行

如:
class A extends JPanel{
Image imgObj;
........

public void paintComponent(Graphics g)
{
super.paintComponent(g);
// imgObj is a GIF file.
bbb.ggg(g,imgObj,this); ////////
}
}

则B为:
public class B
{
public void ggg(Graphics g,Image imgObj,A p)
{
g.drawImage(imgObj, 100, 100, p);
}
}



MAX°孟兆 2004-12-06
  • 打赏
  • 举报
回复
主要是drawImage最后一个参数的问题,必须为paintComponent()所在的对象引用

62,634

社区成员

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

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