You can always layer it so you have a frame and in the frame you place a panel - in the panel you draw the gif. Then also in the frame you have the other things that you want to draw. You will however nee to have a null layout in the frame so that you can place components on top of each other. This works for the work i'm dong where i have a gif in the background and then text boxes and labels on top of the image. Hope this might work for you.
In that case, you can load the Image through a MediaTracker instance, then create another Image using Frame's createImage(). Then draw the loaded Image UPON the Frame's Image using the new Image's Graphics object.