Java 将各种类型的组件添加到JComponent引用数组中
我有一个JComponent引用,比如Java 将各种类型的组件添加到JComponent引用数组中,java,reference,instantiation,jcomponent,Java,Reference,Instantiation,Jcomponent,我有一个JComponent引用,比如JComponent-allComp[] 现在我想知道这个数组的每个元素都包含不同类型的组件,如下所示 allComp[0]=new JComboBox() allComp[1]=newjbutton() allComp[2]=new JMonthChooser() 我正在尝试并获得空指针异常。这可能吗??如果可能的话怎么办?? 请帮我解决这个问题。 感谢advance您需要创建数组对象本身: JComponent[] allComp = new JComp
JComponent-allComp[]代码>
现在我想知道这个数组的每个元素都包含不同类型的组件,如下所示
allComp[0]=new JComboBox()代码>
allComp[1]=newjbutton()代码>
allComp[2]=new JMonthChooser()代码>
我正在尝试并获得空指针异常。这可能吗??如果可能的话怎么办??
请帮我解决这个问题。
感谢advance您需要创建数组对象本身:
JComponent[] allComp = new JComponent[ARRAYSIZE];
您可能尚未初始化allComp
,并且它是null
JComponent allComp[] = new JComponent[MAX_COMPONENTS];
无论如何,如果事先不知道组件的数量,建议使用列表
而不是数组
List<JComponent> allComp = new ArrayList<>();
allComp.add(new JComboBox());
allComp.add(new JButton());
allComp.add(new JMonthChooser());
List allComp=new ArrayList();
allComp.add(新JComboBox());
allComp.add(newjbutton());
allComp.add(新的JMonthChooser());
我假设您尚未初始化数组
int arraySize = 20;
JComponent allComp[] = new JComponent[arraySize];
像这样做
JComponent allComp[]
只有“声明”对象,这有点像承诺“在代码中的某个地方,我将使用这个对象,但我还没有决定我想要它是什么,所以我没有定义它”
“初始化”是实际创建对象所需的操作。通常情况下,您是用
new
关键字。您是否记得初始化数组,即allComp=new JComponent[3]?我还建议改为使用列表;)哦,是的……明白了……事实上,编辑并没有给出添加的建议。这就是为什么我忽略了。现在这似乎是个愚蠢的问题。无论如何,谢谢你:)