Ok pensavo avessi già provato ad aggiungere qualche JTextField (aggiungere i componenti in un ciclo è banale di per sè) e avessi qualche problema specifico, ad esempio il frame ti mostra solo alcuni textfield (come dovrebbe se usi un flowlayout)o non riesci a metterli come vorresti etc.
Se non sai da dove partire io ti consiglierei di usare un BoxLayout verticale per il pannello in cui vuoi visualizzare i textfield.
Il BoxLayout è abbastanza semplice da usare ma ti permette di disporre i componenti con molta precisione, basta infatti creare delle aree rigide se vuoi dello spazio tra due componenti.
Potresti quindi fare un ciclo in cui per ogni partecipante crei una box a cui aggiungi solo il textField, poi aggiungi la box al pannello.
Se usi l'orientamento verticale le box saranno automaticamente una sotto all'altra.
Poi crei uno JScrollPane a cui passi il pannello che contiene le box,perchè non puoi sapere a prescindere il numero di box che dovrai creare e hai bosogno di poter scrollare il pannello per non far uscire la roba.
Questo è un esempio di codice che potresti utilizzare per creare il pannello e aggiungere le box, (purtroppo ora sono all'estero e su questo pc non ho il compilatore, quindi non posso vedere se funziona come immagino):
codice:
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
.................................
JPanel p=new JPanel();
p.setLayout(new BoxLayout(p,BoxLayout.Y_AXIS));
lista=new JScrollPane(p);
lista.setPreferredSize(new Dimension(300,300));
lista.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
lista.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
for(int i=0;i<n;i++) //n num.partecipanti
{
Box b=Box.createHorizontalBox();
b.setAlignmentX((int)Component.LEFT_ALIGNMENT);
b.setBorder(BorderFactory.createEmptyBorder(10,0,0,0));
JTextField nome=new JTextField(30);
nome.setMaximumSize(new Dimension(270,nome.getPreferredSize().height));
b.add(nome);
p.add(b);
}
frame.getContentPane().add(lista,BorderLayout.CENTER);
// devi aggiungere al frame lo ScrollPane, non il JPanel
...........................
Ho riadattato un mio pezzetto di codice e come detto non lo posso provare quindi non sono sicuro vada bene