Credo che il modo migliore sia di procedere diversamente. Puoi utilizzare una JList per rappresentare i dati e inserire la JList all'interno dello JScrollPane, oppure puoi inserire un JPanel all'interno dello JScrollPane e inserire ciascuna JLabel nel JPanel... il JPanel, però, dovrebbe prevedere un apposito LayoutManager che gli consenta di allungarsi quando arrivano delle nuove JLabel da visualizzare (oppure modifichi a manina il PreferredSize, quando inserisci le JLabel). Al resto pensa lo JScrollPane.
Ciao.![]()