Java:JButton 和 ArrayList:从 ArrayList 添加到 JPanel

标签 java swing arraylist jpanel jbutton

所以我在 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/

相关文章:

java - JOptionPane 或 JFrame 从 JCalendar 返回值

java - 通过子级向父级添加 JComponent

java - 无法从组件访问 processMouseMotionEvent

java - list 执行的正确性

java - 记录java中排序算法比较的元素

来自两个 Main 类的 Java Access 单例类实例

java - 如何将评论节点与 Jsoup 选择器 api 匹配?

java - 深入理解序列化

java - 我怎样才能最好地在 Swing 中实现淡入淡出按钮效果?

javascript - 如何连接2个数组中的数据