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);
}}