Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX动态添加新文本字段_Java_Javafx_Gridpane - Fatal编程技术网

JavaFX动态添加新文本字段

JavaFX动态添加新文本字段,java,javafx,gridpane,Java,Javafx,Gridpane,我正在编写一个程序,允许用户在需要向表单添加更多数据时添加新的空文本字段。我很难理解如何为添加到GridPane的每个新字段设置坐标。比如说, btnClick.setOnAction(new EventHandler<ActionEvent>(){ public void handle(ActionEvent e) { TextField text = new TextField(); primaryPane.add(text, 5

我正在编写一个程序,允许用户在需要向表单添加更多数据时添加新的空文本字段。我很难理解如何为添加到GridPane的每个新字段设置坐标。比如说,

            btnClick.setOnAction(new EventHandler<ActionEvent>(){
    public void handle(ActionEvent e)
{
    TextField text = new TextField();
    primaryPane.add(text, 5 , 6);
}});
btnClick.setOnAction(新的EventHandler(){
公共无效句柄(ActionEvent e)
{
TextField text=新的TextField();
添加(文本,5,6);
}});
只会在位置(5,6)中添加一个新文本字段。如何修改代码以允许用户添加任意数量的字段,每个字段依次显示。我知道我可以对一定数量的新字段使用循环,但是用户应该能够创建任意数量的字段。提前感谢您的帮助

内森

这段代码可以帮助您


存储上次添加的文本字段坐标,并在每次单击时修改它们。
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);
}}