我有一个像JComponent allComp[];
这样的JComponent引用
现在我希望这个数组的每个元素都包含不同类型的组件,如下所示,
allComp[0] = new JComboBox();
allComp[1] = new JButton();
allComp[2] = new JMonthChooser();
我正在尝试并获得Null Pointer异常。这可能吗??如果可能的话? 请帮我解决这个问题。 谢谢提前
答案 0 :(得分:0)
您需要自己创建数组对象:
JComponent[] allComp = new JComponent[ARRAYSIZE];
答案 1 :(得分:0)
您可能尚未初始化allComp
,而null
。
JComponent allComp[] = new JComponent[MAX_COMPONENTS];
无论如何,如果您事先不知道组件的数量,建议使用List
而不是数组。
List<JComponent> allComp = new ArrayList<>();
allComp.add(new JComboBox());
allComp.add(new JButton());
allComp.add(new JMonthChooser());
答案 2 :(得分:0)
我假设您尚未初始化数组
int arraySize = 20;
JComponent allComp[] = new JComponent[arraySize];
做类似
的事情JComponent allComp[]
只有“声明”对象,这有点像一个承诺“在这段代码的某个地方,我将使用这个对象,但我还没有决定我想要的是什么,所以我将它留下未定义”
“初始化”是您实际创建对象所需要做的事情。通常使用
执行此操作new
关键字。