Pero, ¿qué falla?
¿No salen los datos en el area texto?
¿No sale el área texto en la interfaz?
Veo que a panel le pones layout(null)
Consejo: considera el setLayout(null) como tu peor enemigo.
Se que cuando enseñan a crear interfaces con Swing, es lo primero que explican, aplicar setLayout(null). Bien, pues es un error mayúsculo y debería estar perseguido y castigado por todos los tribunales de derechos humanos ja ja..
Fuera bromas, el setLayout(null) solo debería usarse en casos muy concretos, yo de hecho nunca lo uso.
El layout es un gestor que decide cómo se maquetan y muestran los elementos de la interfaz. Si quitas el layout, no hay nadie decidiendo cómo se muestran las cosas. Y por tanto, no se muestran.
A no ser que lo decida el programador, usando setBounds() para indicar posiciones y tamaños absolutos.
Pero insisto que es un error, cuando Swing ofrece distintos layouts para maquetar automáticamente.
Yo probaría a quitar esa línea donde
nulleas el layout, simplemente bórrala y deja activo el layout que el panel traerá por defecto
Otro fallo que veo , es que añades el area de texto dentro del bucle que recorrer el array
Esto significa que si por ejemplo el array tiene 25 elementos, vas a añadir el área de texto 25 veces.
Es más, lo normal es que las acciones de "añadir el area de texto" y "mostrar elementos en el area" fueran acciones separadas unas de otras.
Como no tenemos tu programa completo, pues no se exactamente como quieres o esperas que funcione la interfaz. Pero lo habitual es que al comenzar el programa el área de texto ya esté en la interfaz, porque se ha añadido mientras se construía el JFrame principal.
Luego, desde un botón por ejemplo, se ejecutaría la acción de recorrer el ArrayList y enviar los datos al area de texto.
Si no tenías planeado usar ningún botón, si no hacer que directamente se muestren los elementos, simplemente deja fuera del bucle la línea donde añades el area al panel.
Da igual si lo pones antes del bucle que recorre elementos, o lo pones después. Lo importante es que esté FUERA del bucle
Te dejo aquí un ejemplo rápido que he escrito.
Tenemos un ArrayList con nombres y un JFrame que se compone de dos paneles.
Un panel contiene el area de texto y el otro un botón.
Fíjate que no intervengo en su layout, dejo el que todo panel trae por defecto, el FlowLayout.
Luego esos paneles los inserto en el JFrame principal, a quién sí le intervengo su layout. Le establezco un BorderLayout, quien divide la interfaz en 5 partes: centro, norte, sur, este y oeste.
Así en el "centro" pongo el panel que tiene el area de texto.
Y en el "sur", o sea, la parte inferior, pongo el panel que tiene el botón.
Cuando se pulsa el botón, se recorre el ArrayList y se envía lo que contiene al area de texto.
Espero que te sirva de ayuda.
Un saludo