关于在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);
}


请教各位!!!!
...全文
220 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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()所在的对象引用
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE
加入

6.2w+

社区成员

Java 2 Standard Edition
社区管理员
  • Java SE
申请成为版主
帖子事件
创建了帖子
2004-12-06 05:55
社区公告
暂无公告