Canvas com JPanel e movimentacao de imagens

Gente, eu estava analizando um codigo pronto de um cara que fez o space invader em java, bem, :getout: agora vamos trabalhar ne
eu vi que ele fez com canvas em jpanel, e vi que realmente é uma boa ideia, mas n consegui entender como ele coloco a imagem no painel e movimento ela, alguem pode me ajudar com isso, uma ideia dica, trecho de codigo, sei la, qualquer coisa e valida.

n sei se ajuda, mas o codigo que tenho pra tela é esse, n sei ne, quem sabe ajude.

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferStrategy;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Game extends Canvas{
	
	private BufferStrategy bStrat = null;
	
	public Game(){
		JFrame container = new JFrame("Minha tela de jogo");
		JPanel painel = (JPanel)container.getContentPane();
		
		painel.setBackground(Color.black);
		painel.setPreferredSize(new Dimension(800,600));
		painel.setBounds(0,0,800,600);
		painel.setLayout(null);	
		
		painel.add(this);
		container.setResizable(false);
		container.setVisible(true);
		container.pack();
		
		container.addWindowListener(new WindowAdapter(){
			public void windowsClosing(WindowEvent ev){
				System.exit(0);
			}
		});		
		
		this.requestFocus();
		
		createBufferStrategy(2);
		this.bStrat = getBufferStrategy();
		iniciarObjetos();
	}
	
	private void iniciarObjetos(){
		
	}
	
	public static void main(String[] args) {
		Game g = new Game();
	}
}

BufferStrategy é do Java

Eu não lembro muito bem…

mas voce tem que pegar o draw graphics da bufferStrategy.
desenhar a imagem
e trocar a na tela pelo buffer.

Esse draw graphics faz parte da bufferstrategy?, e ele pode ser posto em um jpanel?