因此,我正在为Sudoku程序使用JTextFields的二维数组。
public JTextField[][] userInputArray = new JTextField[9][9];
现在。我收到一个连续的空指针异常,无法辨别如何解决。它来自触发此方法:
public void showTextFields()
{
int rowCounter = 0;
int columnCounter = 0;
for (rowCounter = 0; rowCounter <= 8; rowCounter += 1)
{
for (columnCounter = 0; columnCounter <= 8; columnCounter += 1)
{
pane.setLayout(new GridLayout(9, 9));
//pane.add(userInputArray[rowCounter][columnCounter]);
//userInputArray[rowCounter][columnCounter].setColumns(1);
//userInputArray[rowCounter][columnCounter].setVisible(true);
}
}
}
注释掉的所有内容都会抛出nullpointerexception。
理想情况下,我的目标是在屏幕上显示JTextField,并在网格上分配它们。
NullPointerException发生在
pane.add(...)
最佳答案
创建2D数组以容纳字段后,需要实例化数组中的JTextField
组件。
for (int i =0; i < userInputArray.length; i++) {
for (int j =0; j < userInputArray[0].length; j++) {
userInputArray[i][j] = new JTextField();
}
}