Ciao, seguendo alcuni esempi qui su Html.it e altri siti, non riesco a mettere lo scrollPane alla mia textArea. Perché? Eppure l'esempio che ho scaricato va che è una meravoglia!
Ecco il codice: vedete fin fondo lo scrollPane:
codice:
package mercurio;
import java.awt.*;
import javax.swing.*;

public class Mercurio extends JFrame 
{
	private static final long serialVersionUID = 			1L;
	private final String TITOLO_APPLICAZIONE =				"Mercurio";
	private final String nomeIconaFrame =					"icone//iconaProgrammaPrincipale.gif";
	private JPanel jContentPane;
	private JButton avviaRicerca;
	private JButton chiudiProgramma;
	private JTextArea areaTesto;
	private JProgressBar barraProgressiva;
	
	/**
	 * Costruisce il pulsante di "Avvia ricerca"
	 */
	private JButton costruisciAvviaProgramma()
	{
		final String AVVIA_RICERCA = 	"Ricerca dispositivi";
		final String nomeFile =			"icone//avviaRicerca.gif";
		ImageIcon icona = new ImageIcon(nomeFile); 
		avviaRicerca = new JButton();
		avviaRicerca.setText(AVVIA_RICERCA);
		avviaRicerca.setIcon(icona);
		return  avviaRicerca;
	}
	
	/**
	 * Costruisce il pulsante di "Chiudi Programma"
	 */
	private JButton costruisciChiudiProgramma()
	{
		final String CHIUDI_PROGRAMMA = 		"Chiudi programma";
		final String nomeFile =					"icone//chiudiProgramma.gif";
		ImageIcon icona = new ImageIcon(nomeFile); 
		chiudiProgramma = new JButton();
		chiudiProgramma.setText(CHIUDI_PROGRAMMA);
		chiudiProgramma.setIcon(icona);
		return chiudiProgramma;
	}
	
	/**
	 * Costruisce l'area di testo
	 */
	private JTextArea costruisciAreaTesto()
	{
		areaTesto = new JTextArea(20, 40);
		areaTesto.setLineWrap(true);
		areaTesto.setEditable(false);
		return areaTesto;
	}
	
	/**
	 * @param args Variabili di entrata (non necessarie)
	 */
	public static void main(String[] args) 
	{
		SwingUtilities.invokeLater(new Runnable() 
		{
			public void run() 
			{
				Mercurio thisClass = new Mercurio();
				thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				thisClass.setVisible(true);
			}
		});
	}

	/**
	 * This is the default constructor
	 */
	public Mercurio() 
	{
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() 
	{
		this.setName(TITOLO_APPLICAZIONE);
		this.setTitle(TITOLO_APPLICAZIONE);
		this.setSize(500, 500);
		Image icona = Toolkit.getDefaultToolkit().getImage(nomeIconaFrame);
		this.setIconImage(icona);
		this.setLocationRelativeTo(null);
		this.setResizable(false);
		this.setContentPane(getJContentPane());
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() 
	{
		if (jContentPane == null) 
		{
			jContentPane = new JPanel(); 
			jContentPane.setLayout(new  FlowLayout());
			avviaRicerca = costruisciAvviaProgramma();
			chiudiProgramma = costruisciChiudiProgramma();
			areaTesto = costruisciAreaTesto();
			JScrollPane spane = new JScrollPane(areaTesto);
			spane.getHorizontalScrollBar();
			spane.getVerticalScrollBar();
			jContentPane.add(avviaRicerca);
			jContentPane.add(chiudiProgramma);
			jContentPane.add(areaTesto);
			jContentPane.add(spane);
			for(int i=0; i<100; i++)
			{
				areaTesto.append("Prima riga" + "\n");
				areaTesto.append("Seconda riga" + "\n");
			}
		}
		return jContentPane;
	}

}