将各种类型的组件添加到JComponent引用数组中

时间:2013-09-26 11:24:44

标签: java reference instantiation jcomponent

我有一个像JComponent allComp[];这样的JComponent引用 现在我希望这个数组的每个元素都包含不同类型的组件,如下所示,

allComp[0] = new JComboBox();

allComp[1] = new JButton();

allComp[2] = new JMonthChooser();

我正在尝试并获得Null Pointer异常。这可能吗??如果可能的话? 请帮我解决这个问题。 谢谢提前

3 个答案:

答案 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

关键字。