Como eu adiciono um jpanel no fundo?

Olá, eu possuo essa classe que estende de jpanel e desenha uma imagem no seu fundo, ela está assim:
`

package Mainmenu;

import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.image.ImageObserver;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class ImagePanel extends JPanel {

private final Image image;
public ImagePanel(Image image) {
    super();
    this.image = image;
}

@Override
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.drawImage(this.image, 0, 0, getWidth(), getHeight(), this);
 }
}

`
A partir de outra classe que estende de jframe eu desenho um gif nesse jpanel e exibo, esse gif possui transparência e eu gostaria de saber neste tópico se tem como eu desenhar um jpanel com componentes atrás dessa imagem?