Salve a tutti, sono alle prese con un progetto e con un problema all'apparenza molto semplice ma che proprio non riesco a risolvere: tramite un ciclo creo delle textArea, rappresentanti la descrizione di ogni oggetto. Se inserisco tutto in un pannello semplice, le textArea vengono incolonnate, proprio come voglio io, col problema, però, che quando queste diventano troppe, le ultime non vengono visualizzate. Proprio per questo motivo, credo sia necessario l'inserimento di una barra di scorrimento e quindi ho creato una JScrollPane a cui passo come parametro il pannello su cui sono inserite le textArea, solo che, una volta fatto ciò, le textArea vengono scritte una dopo l'altra, in un'unica riga e l'unica barra che appare è quella che fa scorrere l'elenco in orizzontale. Ho provato anche con l'escape sequence "\n" ma il risultato è che mi stacca le descrizioni degli oggetti, non va a capo. Come posso far sì che le aree di testo vengano incolonnate una sotto l'altra e che mi appaia la barra di scorrimento verticale?
Questo è una parte di codice:
JPanel c = new JPanel();
JScrollPane scrollPane = new JScrollPane(c);
public void actionPerformed(ActionEvent e) {
String com = e.getActionCommand();
if (com == VISUALIZZA) {
f.setVisible(false);
this.setVisible(true);
for(JTextArea l : listaText) {
c.remove(l);
}
c.revalidate();
int i = 0;
while (i<listaVeicoli.size()){
JTextArea sintesi1 = new JTextArea();
sintesi1 = new JTextArea( " " + listaVeicoli.get(i).toString());
sintesi1.setEditable(false);
sintesi1.setRows(listaVeicoli.size());
sintesi1.setForeground(Color.black);
JTextArea spazio = new JTextArea ("\n");
sintesi1.setBackground(Color.yellow);
listaText.add(sintesi1);
c.add(sintesi1);
c.add(spazio);
i++;
}
this.add(scrollPane);
}
Ho omesso il costruttore e altre parti del codice che non hanno nulla a che fare col problema, la grandezza della JFrame è stata impostata ( this.setSize(500, 400) ) ed è resa visibile (this.setVisible(true)). Spero mi possiate dare qualche dritta, grazie.