我正在尝试创建一个 jpanels
数组,但遇到了一些空指针异常
。
这是代码的一部分。这里的cartP
是一个面板
。
JPanel[] p2 = new JPanel[10];
p2[0].setPreferredSize(new Dimension(700, 40));
p2[0].setMaximumSize(p2[0].getPreferredSize());
p2[0].setLayout(new GridLayout(1,5,1,1));
p2[0].add(new JLabel("text"));
p2[0].add(new JLabel("text"));
p2[0].add(new JLabel("text"));
p2[0].add(new JLabel("text"));
p2[0].setBackground(Color.CYAN);
cartP.add(p2[0]);
我将用它来制作查看购物车,就像在购物网站上一样。
这是一个异常(exception)..
Exception in thread "main" java.lang.NullPointerException
at storeapp.Cart.gui(Cart.java:59)
at storeapp.Cart.<init>(Cart.java:29)
at storeapp.Cart.main(Cart.java:157)
Java 结果:1
知道为什么我会遇到这个异常吗?
最佳答案
因为
JPanel[] p2 = new JPanel[10];
创建一个 null
JPanel
指针数组。在使用数组的每个元素之前,您需要对其进行初始化。
for (int i=0; i<p2.length; i++) {
p2[i] = new JPanel(/* snip */);
}
这与任何数组初始化的行为一致。除非另有分配,否则数组的元素具有数组类型的默认值; for any object type, the default value is null
.
关于Java - 创建 JPanel 数组会导致空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12999858/