Método "getContentPane" em um Container

Sou iniciante em Java, e estou executar o comando:

Container contentPane = getContentPane();

Eu copiei esta linha de um exemplo de como criar uma ProgressBar.

Nas demais linhas deste exemplo não deu erro, só nesta linha está dando erro que o método getContentPane() não existe.

Eu procurei na documentação e não achei nada sobre este método.

O que preciso fazer para que possa utilizá-lo?

É isso mesmo, você pode criar um Container fazendo realmente isso:

Container c = getContentPane();

Mas claro, herdando de um JFrame por exemplo.

Coloca o escopo da sua classe aqui

Aqui vai a minha classe:

package bomgourmet;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GraphicsConfiguration;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.Cursor;
import javax.swing.*;
import javax.swing.event.*;
import java.util.Observable;

public class Splash extends Window

{
	// Mensagem a ser mostrada junto com a imagem
	private final String message = "Splash Screen";

        // Barra de progressão 
        private JProgressBar barradeprogresso;
	
	// Imagem que ira aparecer no Splash
	private final String imgName = "src/bomgourmet/splash.jpg";
	Image splashImage;
	Toolkit toolkit;
	private static Splash splash;
	
	// Singleton pra garantir apenas uma unica instancia na memoria
	static {
		splash = new Splash();
	}
	
	private Splash()
	{
                
		super(new Frame());
		setVisible(false);
		
		splashImage = null;
		toolkit = Toolkit.getDefaultToolkit();	
	}
	
	public static Splash getInstance()
	{
		return splash;
	}
	
	private void initSplash() 
	{
		// Carrega a imagem na memoria
		MediaTracker media = new MediaTracker(this);
		splashImage = toolkit.getImage(imgName);
                
		if (splashImage != null) {
			media.addImage(splashImage, 0);
			
			try {
				media.waitForID(0);
			}
			catch (InterruptedException ie) {}
		}
		
		// Configura o tamanho do splash e a posicao na tela
		setSize(splashImage.getWidth(this), splashImage.getHeight(this));

                Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Dimension size = getSize();
		
		if (size.width > screenSize.width)
			size.width = screenSize.width;
		
		if (size.height > screenSize.height)
			size.height = screenSize.height;

                Container contentPane = getContentPane();
        
                contentPane.setLayout(new BorderLayout());

                barradeprogresso = new JProgressBar();
                barradeprogresso.setMaximum(1000000);
         
                contentPane.add(barradeprogresso,BorderLayout.SOUTH);
                
/*                
                // configura a ProgressBar
                JDesktopPane panel = new JDesktopPane();
                progressBar = new JProgressBar();
                progressBar.setStringPainted(true);
                panel.add(progressBar);
                contentPane.add(panel, "South");
                contentPane.setVisible(true);
*/			
		setLocation((screenSize.width - size.width) / 2, (screenSize.height - size.height) / 2);
		setVisible(true);		
	}

	public void openSplash()
	{
		setCursor(new Cursor(Cursor.WAIT_CURSOR));
		initSplash();
	}
	
	public void finish()
	{
		setVisible(false);
		dispose();
	}
	
	public void paint(Graphics g)
	{
		// Apenas desenha a nossa mensagem em cima da imagem
		g.drawImage(splashImage, 0, 0, getBackground(), this);
		g.setFont(new Font("Arial", Font.BOLD, 26));
		g.drawString(message, (int)(splashImage.getWidth(this) / 2) - 80, 30);
	}

        public void updateProgressBar(Observable o, Object arg) {
           if(arg instanceof Integer) {
             //Seta o valor do progresso
             barradeprogresso.setValue( ((Integer) arg).intValue());
//             texto.setText( String.valueOf(((Integer) arg).intValue()));
         } else if(arg instanceof Boolean) {
             if( ((Boolean) arg).booleanValue() ) {
                 barradeprogresso.setValue(0);
             }
         }
     }

}

O erro está ocorrendo dentro do método initSplash().

Extenda JPanel ao invés de Window

[]s