在GridLayout中填充数组时出现NullPointerException

时间:2014-03-03 20:56:51

标签: java arrays swing nullpointerexception

我遇到了NullPointerException,这是

的结果
public class Grid extends JFrame {

private JLabel[][] grid;

public Grid(int max) { //from Constructor
    int s = max;
    int v = max;


    Container cont = getContentPane();
    cont.setLayout(new BorderLayout());

    JPanel p1 = new JPanel(new BorderLayout());
    Container content = new JPanel(new GridLayout(s,v)); 

    for (int y = s - 1; y >= 0; y--) {
        for (int x = 0; x < v; x++) {
            grid[x][y] = new JLabel((x)+","+(y));
            content.add(grid[x][y]);
        }
    }

我试图将此预览中的代码减少到重要部分。错误是由

引起的
    grid[x][y] = new JLabel((x)+","+(y));

在一天结束时,我想在GridLayout中添加一个特定数量(最大*最大)的JLabel,其坐标就像for子句应该给它们一样。还有这里:GridLayout coordinates

1 个答案:

答案 0 :(得分:4)

您的数组未初始化,您必须在为其元素赋值之前构造数组。

private JLabel[][] grid = new JLabel[MAX][MAX];