allora ci sono diverse cose di cui bisogna tenere conto.
Innanzitutto con queste 2 istruzioni

codice:
gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
stai dicendo che tutto lo spazio in eccesso è della textarea (come è giusto che sia).
Per gli altri questo non c'è.
Poi mi chiedo, come è strutturato il resto? Cioè questo che ha il gridbaglayout è dentro un pannello/frame con che layout?
Qui si ritrova spazio in eccesso che assegna tutto alla locazione della textarea, ma questa (per le sue impostazioni) non cresce creando questo brutto effetto.
La textarea che impostazioni ha riguardo il ridimensionamento?