I dislike GridBag intensely and avoid it like the plague. I am not the only with such an aversion. The previous team lead (before June 2006) hated it too and encouraged us to move onto JGoodies. I have stuck with that decision since his departure.
Of course, whilst 75% of the 4 person team believed that GB was a disaster and too much pain there was one hold out. Recent events had led us to consider changing the way our GUI is implemented. This has allowed our independent thinker to bring GB back out of the closet. He recently told me this in an email on the topic:
No, my experience [for GridBag] does not differ but nor does it for jgoodies. On the basis that they are equally poor I’d rather only learn one of them.
I could equally well generate a presentation about someone puzzling over the meaning of “p,5dlu,p,3dlu,p,3dlu,p,3dlu,r:p:g 3dlu,r:p”.
Yep, that JGoodies layout stuff can be very confusing but it tends to be located in one, or two, lines of code and doesn’t suffuse the rest of the GUI layout code.
His premise that “they are equally poor” is mistaken. JGoodies may have a cryptic (albeit powerful) layout syntax but it tends to be located in one place in your code. GridBag, in contrast is spread all through your code.
And I don’t apologise for intensely disliking GridBag. It needs to be disliked.