日期:2014-05-20  浏览次数:20927 次

关于jpanel数组的创建问题,大侠来指导一下哦
这段代码的主要功能是在数据库里边得到数据,然后根据数据创建出 jtabbedpane ,结果在创建jpanel的时候报空指针错误,百撕不得其解啊!~
public JTabbedPane addHall()
{
JTabbedPane jtbp=new JTabbedPane();
ResultSet rs=null;
rs=mh.selectPlace();
JPanel jbajp[]=null;
int j=0;
try {
while (rs.next()) {
String jpname=rs.getString(2);
String jpid=Integer.toString(rs.getInt(1));
//String jid="jp"+jpid;
jbajp[j]=new JPanel();
jbajp[j].setSize(800, 600);
jtbp.add(jbajp[j],jpname);
j++;
}

} catch (Exception e) {
e.printStackTrace();
}finally{
db.closeurl();
}

return jtbp;
}


------解决方案--------------------
JPanel jbajp[]=null; // 你根本就没有给这个数组初始化元素啊,怎么可能用的了?

要么就:
JPanel jbajp[]= new JPanel[100];

要么就用列表:
List<JPanel> lst = new ArrayList<JPanel>();
while (rs.next()) {
JPanel tmp = new JPanel();
String jpname=rs.getString(2);
String jpid=Integer.toString(rs.getInt(1));
tmp.setSize(800, 600);
jtbp.add(tmp, jpname);
lst.add(tmp);
}