I wouldn't start with GridBag right away. It's 'slightly' more complicated than the others and almost everytime you'll end up using several different layout managers together... Not just one. Personally, I like nesting JPanels.
There's no single book. If you want to learn just GUI then go with Sun's swing layout tutorials. The tutorials should be short, sweet and to the point. Most of what you do depends on experience. Don't expect to be an expert after reading a tutorial or book. Experience will give you good judgement that a tutorial or book can't give you.
I agree with server_crash on the jpanels inside of other jpanels. Excellent strategy for building a GUI.
However, I do recommend jumping right into GridBagLayout. Even when there are jpanels in the application that would work with a FlowLayout or BorderLayout we always ended up using GridBagLayout. Its just so much more powerful then the other layouts.
For Each ctrl As Control In Me.Controls("pnlMainPanel").Controls
If ctrl.GetType Is GetType(System.Windows.Forms.Panel) Then
For Each subCtrl As Control In ctrl.Controls
If subCtrl.GetType Is GetType(System.Windows.Forms.TextBox) Then
If subCtrl.GetType Is ...