我想做10个JLabel,怎么初始化名称啊? JPanel[] JPane = new JPanel[10];
 JLabel[] JLabe = new JLabel[10];
String[] names = {"学生编号","学生姓名","入学时间","毕业时间",
 "出生日期","籍贯","政治面貌","学籍情况","年级","学位"}; for(int i =0 ; i < 10; i ++)
 {
 System.out.println(names[i]);
JLabe[i].setName(names[i]);
 }
 JTextField[] JTF = new JTextField[10];
 
 for(int i =0 ; i < 10; i ++)
 {
 JPane[i].add(JLabe[i]);
 JPane[i].add(JTF[i]);
                            add(JPane[i]);
     
 }我是这样做的,但是不用运行...报错信息:Exception in thread "main" java.lang.NullPointerException
at wshong.packag.Jpane.<init>(MainTest.java:51)
at wshong.packag.TestFrame.<init>(MainTest.java:21)
at wshong.packag.MainTest.main(MainTest.java:10)请问是怎么回事?怎么样解决

解决方案 »

  1.   

    用JLabel.setText函数还有一点不要把变量定义成JLabel、JPanel看了让人头晕啊。
      

  2.   

    jlabel[i]= new JLabel(names[i]);
      

  3.   

    JLabel[] JLabe = new JLabel[10]此句仅仅是定义了创建的是标签数组,而并没对各个标签进行实例化,故JLabe[i].setName(names[i])可改为:JLabe=new JLabel(names[i]);同理JPane也是这个理,还有就是JFrame中需要类Container来添加组件(此处的说法不准确),即: Container con=getContentPane();
    con.add(组件名)