Java - JPanel con márgenes y JTextArea dentro de

Quiero crear algo como esto:

Panel principal tiene sus márgenes (x), y TextArea en el centro de ese panel que casi llena el panel. En la parte inferior hay otro panel con tamaño personalizado (altura y), que se puede alternar visible e invisible con algún atajo. El panel inferior tiene FlowLayout y pocos elementos.

El problema es que no tengo idea de cómo hacer esto.

BoxLayout no tiene márgenes.

Intenté con GridBagLayout pero no funciona o no puedo entenderlo lo suficiente:

Traté también de configurar los márgenes de JTextArea

textMain.setMargin(new Insets(insetTop, insetLeft, insetBottom, insetRight));

pero cuando hay mucho texto, los márgenes superior e inferior desaparecen. Así que ahora estoy intentando con paneles.

¿Podría alguien ayudarme con esto por favor

Respuestas a la pregunta(2)

Su respuesta a la pregunta