JTabbedPane

Olá!

Estou com um problema quando utilizo JTabbedPane…

POr exemplo, tenho uma janela de Pesquisa, dai eu tenho o seguinte:

p1 = new JPanel();
p2 = new JPanel();
p4 = new JPanel();
 
p1.setLayout(new GridLayout(4,3));
p2.setLayout(new BorderLayout());
p4.setLayout(new GridLayout(1,5));

 p1.add(nome); p1.add(new JLabel("")); p1.add(new JLabel("")); p1.add(tnome);
  p1.add(matricula); p1.add(new JLabel("")); p1.add(new JLabel("")); p1.add(tmatricula);
  p1.add(ano_ingresso); p1.add(new JLabel("")); p1.add(new JLabel("")); p1.add(tano_ingresso);
  p1.add(label); p1.add(bmatricula); p1.add(bnome_aluno); p1.add(bano_ingresso);
  p2.add(new JScrollPane(tabela));
  p4.add(Encontrar); p4.add(Imprimi); p4.add(Limpar); p4.add(Cancelar);

Ok…Dai eu tenho um método que retorna um JPanel, dentro desta classe!

private JPanel mostraPainel()
{
  JPanel aux = new JPanel();
  
  aux.add(p1);
  aux.add(p2);
  aux.add(p4);

  return(aux);
}

E depois em outra classe eu faço:

JTabbedPane pane = new JTabbedPane();
pane.addTab("Pesquisar Aluno", new PesqAluno().mostraPainel());

Bem…agora vem o problema:
Os painés aparecem um do lado do outro e eu queria que ficasse um em baixo do outro. Já tentei fazer lá no método de “mostraPainel”, definir “aux” com um GridLayout(3,1), mas dai os paineis ficam todos do mesmo tamanho.

E agora?

Pô, gurizada! Me abandoram?