Hi there:
I created an animated gif file that doesn't loop continuously. It only
plays once when loaded and that's it. I designed it that way and don't
really want to change it. Now, I've also created a bean I call JGrid,
which is nothing more than a collection of JLabels. I've created a
project that makes use of the JGrid bean and during a mouseClick event
I'm loading up the animated gif file into an instance of the ImageIcon
class and passing that as an arguement to the JLabel.setIcon(Icon icon)
method for that particular JLabel. In my bean I use setIconAt(Icon icon,
int row, int col) to specify which JLabel is to receive the image. The
code in the mouseClick event goes like this:

URL url = getClass().getResource("images/explode.gif");
//'opponent' is an instance of JGrid
opponent.setIconAt(new ImageIcon(url), currentRowSelection,

This works, once! If I click on another JLabel in the JGrid I get the
gif file alright, but what I get
showing is the last frame of the animated gif. I was expecting it to
play the animated gif file from the beginning again. But it doesn't.

Does anyone know how to reset the animated gif file after it has been
run each and every time?