JavaFX 动态添加新文本字段

nam*_*ick 3 java javafx gridpane

我正在编写一个程序,如果需要将更多数据添加到表单中,该程序将允许用户添加新的空文本字段。我无法理解如何为添加到 GridPane 的每个新字段设置坐标。例如,

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

只会导致在位置 (5,6) 处添加一个新文本字段。如何更改代码以允许用户添加所需数量的字段,并且每个字段都显示在另一个字段之后。我知道我可以对确定数量的新字段使用循环,但是用户应该能够创建任意数量。预先感谢您的任何帮助。

内森

Key*_*eri 5

这段代码可以帮助你。

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);
}}
Run Code Online (Sandbox Code Playgroud)