如何getText()像input [i] [j] .getText(); (对于netbeans中的数独求解器)

时间:2015-08-20 07:10:14

标签: java text netbeans field sudoku

我希望从int网格中的81个文本字段中获取9 X 9形式的文字,但不想单独进行。我试图把它放在循环中,但问题是文本字段名称必须以a[i][j]形式显示。

for (i = 0; i < 9; i++) {
    for (j = 0; j < 9; j++) {
        a[i][j] = *i want the name of text field like "a" + i + j*.getText(); 
    }
}

文本字段的名称如下:

  

a00,a01,a02,a03,a04 ...... a88。

2 个答案:

答案 0 :(得分:2)

你不能用java做到这一点(实际上有办法做到这一点,但它们很复杂,容易出错,而且肯定不是你想要的。如果你还想知道,请查看反思)。

您的问题的解决方案是使81个文本框成为文本框数组

JTextField[][] input = new JTextField[9][9];
for(i=0;i<9;i++) {
    for(j=0;j<9;j++) {
        input[i][j] = new JTextField(); 
    }
}

现在你可以通过

来解决每个问题
input[x][y]

x和y是0到8之间的整数。

特别是你可以做到

input[x][y].getText()

从单个输入字段中获取值。

答案 1 :(得分:0)

您不能将String引用到像

这样的变量

"a" + i + j.getText();

您需要将文本字段更改为Jens指定的内容。

如果您不想更改所有文本字段,则需要为它们添加一些完全不推荐的引用。

JTextField [][]fields = new JTextField[9][9];
fields[0][0] = a00;
fields[0][1] = a01;
fields[0][2] = a02;
...