GridBagLayoutusually creates code repetition, which needs additional effort to reduce or eliminate.
As an alternative, you may consider the excellent JGoodies Forms tool.
It takes the interesting approach of defining a small mini-language for defining its layouts (an example of a Domain Specific Language).
While at first somewhat cryptic, this mini-language is quite effective in practice.
The end result is almost always pleasing to the eye.
Another nice feature is its debug mode, whereby a colored grid is laid over the form, so you may easily verify the x-y coordinates of its cells.