两个按钮的监听,第一个是按下后对另外一个类的静态变量赋值,并对那类的另一个静态对象数组初始化,第二个按钮是给那个对象数组的每一个对象分别赋值。。可是第二个按钮按下后会报空指针错误。求大牛解答解答,谢谢拉!
class Bu3_1Listener implements ActionListener{
public void actionPerformed(ActionEvent e){
Initialization.num=Integer.parseInt(T1.getText());
System.out.println(Initialization.num);
Initialization.pre= new init[Initialization.num];
Bu3_1.setVisible(false);
Bu3_2.setVisible(true);
Bu3_3.setVisible(true);
}
}
class Bu3_2Listener implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println(Initialization.pre.toString());
try{Scanner S = new Scanner(T1.getText());
Initialization.pre[count].weight=0;
Initialization.pre[count].value=0 ;
count++;}
catch(Exception x){System.out.println(x.toString());}
}
}

解决方案 »

  1.   

    Initialization.pre= new init[Initialization.num];
    这句仅仅是给init对象数组初始化,而没有创建对象。所有后面的:
    Initialization.pre[count].weight=0;
    Initialization.pre[count].value=0 ;
    就会报对象空指针了。
      

  2.   

    哦哦,每次按钮时对每个对象加个new就可以了吧?
      

  3.   

    哦哦,每次按钮时对每个对象加个new就可以了吧?
    是的,第二个按钮。
    或者第一个按钮初始化数组时,就同时创建好所有的的对象。
      

  4.   

    哦哦,每次按钮时对每个对象加个new就可以了吧?
    是的,第二个按钮。
    或者第一个按钮初始化数组时,就同时创建好所有的的对象。
    谢谢大牛,哈哈,谢谢啦