所以我在 Container.add 处收到 NullPointerException,所以我显然错过了一些我没有看到的东西。 ArrayList 是 Cell 的扩展,它扩展了 JButton。方法 init() 位于扩展的 JPanel 类中。这是我的第一个问题,如果我做错了,请严格要求问题格式,谢谢。
public void init() {
int k = cells.length / 2;
for (int i = 0; i < (cells.length / 2); i++) {
int ID = rand.nextInt(25);
cells[i] = new Cell(this, ID);
cells[i + k] = new Cell(this, ID);
k--;
cellList.add(cells[i]);
cellList.add(cells[i + k]);
}
Collections.shuffle(cellList);
for (Cell cell : cellList) {
add(cell);
}
}
最佳答案
简单明了,在 cellList.add(cells[i+k])
之前不要 k--
尽管我不明白你正在对数组做什么。
关于Java:JButton 和 ArrayList:从 ArrayList 添加到 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9420067/