GridLayout hace que todos los componentes tengan el mismo tamaño, por eso te salen los dos paneles del mismo tamaño. Prueba otra vez con FlowLayout, pero a los setSize() de los paneles, llama a setPreferredSize().
Echa de todas formas un ojo a los layouts y para qué sirve cada uno
http://chuwiki.chuidiang.org/index.p...Uso_de_Layouts
Se bueno.