GridBagLayout è più complesso da usare del GridLayout. Ma se ne comprendi bene i concetti e l'uso, ti può essere utilissimo, in questo caso e in molti altri.
Se devi fare un solo form nella tua applicazione, non ci sono grossi problemi, cioè lo fai creando il layout esattamente come faresti con qualunque altro layout. Se però nella tua applicazione hai molti form da fare, ti conviene prima fare un piccolo lavoro di "design" a livello object-oriented. Cioè incapsulare il concetto di layout del form in una classe specifica che poi puoi (ri)usare e/o estendere (a seconda del design che scegli).