这段代码有问题,为什么报空指针错误?
package GUI;
import java.awt.*;
import javax.swing.*;
public class jfram extends JFrame{
JButton jb1,jb2,jb3,jb4,jb5;
public static void main(String[] args) {
jfram jf=new jfram();
}

 public jfram()
 {   
    jb1=new JButton("东");
jb2=new JButton("西");
jb3=new JButton("南");
jb1=new JButton("北");
jb1=new JButton("中");
 
this.add(jb1,BorderLayout.EAST);
this.add(jb2,BorderLayout.WEST);
this.add(jb3,BorderLayout.SOUTH);
this.add(jb4,BorderLayout.NORTH);
this.add(jb5,BorderLayout.CENTER);
this.setTitle("Jfram");
this.setSize(1520,430);
this.setLocation(320,20);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}

解决方案 »

  1.   


    jb1=new JButton("东");
    jb2=new JButton("西");
    jb3=new JButton("南");
    jb1=new JButton("北");
    jb1=new JButton("中");
    改为
    jb1=new JButton("东");
    jb2=new JButton("西");
    jb3=new JButton("南");
    jb4=new JButton("北");
    jb5=new JButton("中");
      

  2.   

    jb1=new JButton("北");
    jb1=new JButton("中");
    这两句 原本应该初始化 jb4和jb5 结果写成jb1执行到下面时,jb4没有初始化,所以报空指针异常
    this.add(jb4,BorderLayout.NORTH);
    this.add(jb5,BorderLayout.CENTER);