Originariamente inviato da SteMito88
L'ho guardato il tuo codice ma onestamente ci capisco poco..
Riducendo ai minimi termini:

codice:
class PannelloSfondo extends JPanel {
    private Image imgSfondo;

    public PannelloSfondo(Image imgSfondo) {
        super(new BorderLayout());
        this.imgSfondo = imgSfondo;
    }

    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(imgSfondo, 0, 0, this);
    }
}
Istanzia un PannelloSfondo passando la immagine. Settalo come content pane del frame con tuoFrame.setContentPane(tuoPannelloSfondo); (tuoFrame può anche essere il this implicito se una tua classe estende JFrame). A questo punto il tuo pannello è il content pane.

Cambia eventualmente layout manager del content pane e aggiungi i componenti nel content pane.