Personalmente creo que para aprender es mejor usar algún IDE que no genere código automático... no será la primera vez que veo alguna pregunta relacionada con Swing y gente que usa NetBeans... si haces algo con alguna de estas herramientas, por lo menos que sepas lo que haces... XD
Primero deberías de entenderlo, luego hacer alguna pequeña-mediana aplicación, y cuando lo domines ya hablaremos de 20 o 30 ventanas...
(Yo nunca he requerido tantas... XD)
Tengo un libro que me parece que está bastante bien : JAVA 2 Interfaces gráficas y aplicaciones para internet, de Fco Javier Ceballos. Echale un ojo, alomejor te sirve para algo. Y alguna página... pues :
http://www.java2s.com/Code/Java/CatalogJava.htm
http://www.chuidiang.com/java/layout/GridBagLayout/GridBagLayout.php
(en esta te explican muy bien como usar el GridBagLayout de los JPanel)
Saludos!!