Canvas

Bem,eu tenho um JFrame que contém um canvas e um botão ao seu lado.
Objetivo:Clicar no botão e ver um canvas diferente no lugar do antigo.Como eu faço isso:

OBS:Tenho 2 canvas:CanvasJ1 e CanvasJ2 e logo abaixo o código da classe principal:

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class CF extends JFrame implements ActionListener{

	public CF(){

		super("Somente um teste!");
		getContentPane().setLayout(new GridLayout(1,2));
		CanvasJ1 quadro = new CanvasJ1();
		//quadro.getPreferredSize();
		getContentPane().add(quadro);
		JButton btn = new JButton("click");
		btn.addActionListener(this);
		getContentPane().add(btn);
		setSize(400,400);
		setVisible(true);


	}

	public void actionPerformed(ActionEvent evt){

		System.out.println("Somente um teste!");
		CanvasJ2 q2 = new CanvasJ2();
		getContentPane().add(q2);

	}

	public static void main(String args[]){

		new CF();

	}

}

public void actionPerformed(ActionEvent evt) { System.out.println("Somente um teste!"); CanvasJ2 q2 = new CanvasJ2(); getContentPane().removeAll( ); getContentPane().add(q2); }

valeu cara!!