JavaFX динамически добавляет новые текстовые поля

Я пишу программу, которая позволит пользователю добавлять новые пустые текстовые поля в том случае, если в форму необходимо добавить больше данных. У меня проблемы с пониманием того, как установить координаты для каждого нового поля, которое добавляется в мою GridPane. Например,

            btnClick.setOnAction(new EventHandler<ActionEvent>(){
    public void handle(ActionEvent e)
{
    TextField text = new TextField();
    primaryPane.add(text, 5 , 6);
}});

приведет только к одному новому текстовому полю, добавленному в позицию (5,6). Как можно изменить код, чтобы позволить пользователю добавлять столько полей, сколько они хотят, каждое из которых отображается за другим. Я знаю, что мог бы использовать цикл для определенного количества новых полей, однако пользователь должен иметь возможность создавать любое число. Заранее благодарю за любую помощь.

Натан

1 ответ

Этот код поможет вам.

public class AddTextField extends Application {
int i = 1;

@Override
public void start(Stage primaryStage) {
    GridPane root = new GridPane();
    root.setHgap(10);
    root.setVgap(10);
    TextField textField[] = new TextField[15];
    Button btn = new Button("Add TextField");
    root.add(btn, 0, 0);
    btn.setOnAction(e -> {
        textField[i] = new TextField();
        root.add(textField[i], 5, i);
        i = i + 1;

    });

    final Scene scene = new Scene(root, 500, 400);
    primaryStage.setScene(scene);
    primaryStage.show();

}

public static void main(String[] args) {
    launch(args);
}}
Другие вопросы по тегам