Es posible añadir objetos en tiempo de ejecución (en tu caso JTextField), pero tendrás que definir como quieres que aparezcan en la pantalla (para eso tendrás que usar layouts).
Un pequeño ejemplo:
Código Java:
Ver originalimport java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.*;
public class Formulario
extends JFrame {
private ArrayList<JTextField> textFields = new ArrayList<JTextField>();
public Formulario() {
panelIntroducir.
add(new JLabel("Introduzca el número de textboxs a crear"),
BorderLayout.
WEST);
@Override
int numeroTextBox = 0;
try {
numeroTextBox
= Integer.
parseInt(textFieldNumber.
getText()); numeroTextBox = 0;
}
for (int i = 0; i < numeroTextBox; i++) {
textFields.add(newText);
panelTextBox.add(newText);
}
panelTextBox.updateUI();
}
});
}
public static void main
(String[] ar
) { Formulario calc = new Formulario();
calc.setBounds(800, 400, 500, 500);
//calc.setResizable(false);
calc.setVisible(true);
}
}
Esto es para que veas como se puede hacer, pero luego tu puedes personalizarlo a tu gusto.
Saludos.