Atualizar o conteudo de um JPanel

Ola pessoal, criei várias classes que extendem JPanel, por exemplo ClasseA e ClasseB. Consigo abrir na primeira vez a ClasseA num JPanel da ClasseC. Mas não consigo alterná-las, limpar os componentes e abrir a ClasseB no JPanel, por exemplo.
Alguém poderia me ajudar? Estou tentando assim:

        panelOpcao.removeAll();	
        panelOpcao.updateUI();
        panelOpcao.add(new ClasseB()); 
        panelOpcao.revalidate();
        panelOpcao.repaint();

O (JPanel) panelOpcao da ClasseC neste momento esta com a ClasseA e estou tentando mudar para a ClasseB. Mesmo assim não vai.

Grato!

Não estou certo da resposta, mas tenta usar validate() no lugar de repaint();

Oi.
Pq não usa um CardLayout para trocar os Panels?