Tenho essa GUI feita puramente no eclipse swing na unha.

A dúvida
Dentro desta área delimitada em vermelho, quando clicar em cima de um desses JButton, quero colocar dentro do mesmo JFrame apenas um JPanel (Onde cada um terá sua fundão ex: formulário de add novo/ um novo formulário de pesquisa/ um formulário apenas para exibir o que foi pesquisado etc…), isso é possível?
Realmente se usa um JPanel para isso?,como retirar o JPanel anterior? (usa dispose();)? 
Código da aplicação:
package packData;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import com.toedter.calendar.JDateChooser;
public class DataMainClass extends JFrame {
JPanel panelControles = new JPanel();
JPanel panelRodape = new JPanel();
JLabel lblOperador = new JLabel("Operador:");
JDateChooser chooser = new JDateChooser();
Icon iconeNovo = new ImageIcon(getClass().getResource("addNovo.png"));
JButton btnNovo = new JButton(iconeNovo);
Icon iconeEditar = new ImageIcon(getClass().getResource("addEditar.png"));
JButton btnEditar = new JButton(iconeEditar);
Icon iconeSalvar = new ImageIcon(getClass().getResource("addSalvar.png"));
JButton btnSalvar = new JButton(iconeSalvar);
Icon iconeDeletar = new ImageIcon(getClass().getResource("addDeletar.png"));
JButton btnExcluir = new JButton(iconeDeletar);
Icon iconePesquisar = new ImageIcon(getClass().getResource("addPesquisar.png"));
JButton btnPesquisar = new JButton(iconePesquisar);
JSeparator separator = new JSeparator();
public DataMainClass() {
setTitle("MOVIMENTO DE ENTRADA DE COMBUSTÍVEL");
setSize(500,300);
setVisible(true);
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
//JPANEL - CONTROLES CONFIGURAÇÃO
panelControles.setSize(500,33);
Color corPanelControles = new Color (255, 255, 255) ;
panelControles.setBackground(corPanelControles);
panelControles.setLayout(new FlowLayout(FlowLayout.LEFT));
panelControles.add(btnNovo);
panelControles.add(btnEditar);
panelControles.add(btnSalvar);
panelControles.add(btnExcluir);
panelControles.add(btnPesquisar);
//verificar para que serve - btnNovo.setContentAreaFilled(true);
// remove a borda do btn - btnNovo.setBorderPainted(false);
btnNovo.setOpaque(true);
//Cor dos JButton - Controles
Color corBtn = new Color (236, 240, 241);
btnNovo.setBackground(corBtn);
btnEditar.setBackground(corBtn);
btnSalvar.setBackground(corBtn);
btnExcluir.setBackground(corBtn);
btnPesquisar.setBackground(corBtn);
//Tamanho dos JButton - Controles
btnNovo.setPreferredSize(new Dimension(22,22));
btnEditar.setPreferredSize(new Dimension(22,22));
btnSalvar.setPreferredSize(new Dimension(22,22));
btnExcluir.setPreferredSize(new Dimension(22,22));
btnPesquisar.setPreferredSize(new Dimension(22,22));
//cor da bosta do jbutton btnNovo.setBorder(BorderFactory.createLineBorder(corBtnBorda));
separator.setBackground(new java.awt.Color(75,75,75));
separator.setPreferredSize(new Dimension(500, 1));
panelControles.add(separator);
//JPANEL - RODAPÉ CONFIGURAÇÃO
panelRodape.setBackground(Color.WHITE);
panelRodape.setLayout(new FlowLayout(FlowLayout.LEFT));
panelRodape.setBounds(0,240,500,30);
panelRodape.add(new JLabel("Data de Lançamento:"));
panelRodape.add(chooser);
panelRodape.add(lblOperador);
add(panelControles);
add(panelRodape);
}
public static void main(String[] args) {
new DataMainClass();
}
}




