求救在JPanel中显示gif动画的问题。
在applet中,整个画面分为左右两个部分(JPanel),
我在左边加入一个重载JPanel的控件,重载的目的是用一个gif动画做背景,
在applet中响应事件,创建这个重载JPanel的控件,并加入左JPanel,
第一次能显示,
第二次响应事件却无法显示出来,不过感觉到这个JPanel已经是显示了的,因为有些东西被它挡住了。但是里面的动画却没能显示,
很奇怪,第一次能显示,第二次就不能显示了呢?
加载图片没错的。
附重载的JPanel代码:
public class Bomb extends JLabel{
MainFrame frame;
Timer time;
public Bomb(MainFrame parent) {
super();
frame = parent;
time = new Timer(500,new ActionListener()
{
int counter = 0;
public void actionPerformed(ActionEvent e)
{
counter++;
if (counter == 10)
{
time.stop();
setVisible(false);
}
}
});
time.start();
}
public void paintComponent(Graphics g) {
if(frame.ImageLoaded)
{
g.drawImage(frame.picture, 0,0,350,350, null);
}
else
System.out.println("正在加载背景图片");
}
}
picture在applet中初始化的,而且保证图片加载完成了再创建这个Bomb的。
开了一天了,大家指点一下吧。