Salve a tutti.
Ho un problema con l'utilizzo dell'oggetto JScrollpane.
Questo è quello che ottengo attualmente:

L'applet, di dimensioni 734x480, è formata da due JPanel, il primo sopra alla barra orizzontale (JSeparator) e il secondo sotto, entrambi con layout FlowLayout.
Scopo del 2° JPanel è quello di contenere una serie di oggetti (rappresentati dai quadrati in giallo) che possono variare di numero.
Quello che vorrei sarebbe fissare la larghezza del pannello che contiene tali oggetti e renderlo variabile in altezza con un JScrollpane.
Attualmente la porzione di codice è questa:

codice:
        mainContent = new JPanel();
        mainContent.setLayout(new FlowLayout(FlowLayout.LEFT));
        //mainContent.setPreferredSize(new java.awt.Dimension(700, 420));
        jScrollPane1 = new JScrollPane(mainContent);
        jScrollPane1.setBorder(null);
        jScrollPane1.setPreferredSize(new java.awt.Dimension(700, 420));
Come si nota dal codice, non ho fissato la grandezza del mainContent in quanto fissandola, effettivamente gli oggetti gialli vengono disposti secondo il FlowLayout andando a capo dopo 3, ma il JScrollpane non funziona correttamente.
L'immagine sotto visualizza l'applet settando le dimensioni del mainContent:

Questa seconda immagine fa notare come il JScrollpane entra in azione solo quando le dimensioni dell'applet vengono ridotte:

E' come se il JScrollpane non tenesse conto delle dimensioni del mainContent che sono aumentate.

Ora vi chiedo: come posso far funzionare il JScrollpane in modo corretto?

Ringrazio già da ora chiunque possa aiutarmi e scusate per la lungezza del post.