定义JButton数组后,数组的每个JButton元素如何调用JButton方法?
如JButton[]a=newJButton[4];之后若要为其中的每个JButton添加事件监听器,a[0].addActionListener(),将会出错。。。。...
如JButton[ ] a = new JButton[4];之后若要为其中的每个JButton添加事件监听器,
a[0].addActionListener(),将会出错。。。。 展开
a[0].addActionListener(),将会出错。。。。 展开
展开全部
JButton[ ] a = new JButton[4];这样只是创建了一个数组对象,但是每个数组元素并没有初始化,因此你调用a[0].??()方法的时候会报空指针异常。你需要用一个for循环去对每个元素初始化。
for(int i=0;i<a.length;i++){
a[i]=new JButton("Btn"+i);//之后就可以调用方法了。如果button实现的功能不一样,建议你还是不要放在数组里面,这样不方便日后维护
}
不明白可以追问哈
for(int i=0;i<a.length;i++){
a[i]=new JButton("Btn"+i);//之后就可以调用方法了。如果button实现的功能不一样,建议你还是不要放在数组里面,这样不方便日后维护
}
不明白可以追问哈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同学,记得要new对象。
在产生了数组后,使用对象前需要实例化的。
a[0] = new JButton();
a[0].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO:
}
});
如果你另外有实现监听类,那么你传递一个监听类的实例就OK了。
在产生了数组后,使用对象前需要实例化的。
a[0] = new JButton();
a[0].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO:
}
});
如果你另外有实现监听类,那么你传递一个监听类的实例就OK了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询