Setze die GridbagConstraints für die TextArea bei weightx=0.5
und bei dem Panel das du als Filler nimmst weightx=1.0
'fill' ist bei beiden auf 'Both' und als 'anchor' hab ich mal 'Center'
angenommen.
Sollte dann so ausschauen wenn ich deine Ausführung richtig
interpretiert habe:
+----------+
| TextArea |
+----------+
+----------------------+
| Button1 2 3 |
+----------------------+
|