引用 Gridpane 中的文本字段

Refering to a textfield in Gridpane

好的。所以给你们一些背景信息:我正在编写一个数独游戏,没有太多地使用 GUI,但是做了很多研究。

我创建了一个 2 for 循环,创建了一个 9x9 网格窗格,其中填充了带有以下代码的文本字段

GridPane grid = new GridPane();

for(int x =0; x < 9; x++){
    for(int y= 0; y < 9; y++){
        TextField textField = new TextField("0");
        textField.setStyle("-fx-pref-width: 2em;");
        GridPane.setConstraints(textField, y, x);
        grid.getChildren().add(textField);
    }
}

现在我要做的是有一个清晰的取法——比如坐标 [2][5] 到 return 到二维数组并与答案 sheet 进行比较。我的问题是在我的网格窗格中指定一个坐标。

此致。

将文本字段放入数组中:

GridPane grid = new GridPane();
TextField[][] textFields = new TextField[9][9] ;

for(int x =0; x < 9; x++){
    for(int y= 0; y < 9; y++){
        TextField textField = new TextField("0");
        textField.setStyle("-fx-pref-width: 2em;");
        GridPane.setConstraints(textField, y, x);
        grid.getChildren().add(textField);
        textFields[x][y]=textField ;
    }
}

然后您可以使用 textFields[x][y].getText().

访问任何元素 (x,y)