因此,我正在为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();
   }
}

07-26 00:40