http://java.sun.com/docs/books/tutor...yout/flow.html
Si todas las imagenes tienen el mismo tamaño, todos los subcomponentes seran iguales y se iran distribuyendo en filas a medida que añadas. Para poder hacer scroll, supongo que tendras que meterlo en un JScrollPane y decirle que nunca permita scroll horizontal.
No lo he probado pero yo tiraría por ahi.
Otra opcion es usar otro componente más fijo y recalcular el numero de columnas cuando detectes el evento de cambiar el tamaño de la ventana, pero si te funciona con el FlowLayout, mejor.