我遇到了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
答案 0 :(得分:4)
您的数组未初始化,您必须在为其元素赋值之前构造数组。
private JLabel[][] grid = new JLabel[MAX][MAX];