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

java代码求助
这段代码有问题,为什么报空指针错误?
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);
 }
}


------解决方案--------------------
Java code

jb1=new JButton("东");
jb2=new JButton("西");
jb3=new JButton("南");
jb1=new JButton("北");
jb1=new JButton("中");

------解决方案--------------------
jb1=new JButton("北");
jb1=new JButton("中");
这两句 原本应该初始化 jb4和jb5 结果写成jb1

执行到下面时,jb4没有初始化,所以报空指针异常
this.add(jb4,BorderLayout.NORTH);
this.add(jb5,BorderLayout.CENTER);


------解决方案--------------------
Lz,遇到错误自己都不认真分析一下,学程序这样可很难进步啊.
------解决方案--------------------
探讨

jb1=new JButton("北");
jb1=new JButton("中");
这两句 原本应该初始化 jb4和jb5 结果写成jb1

执行到下面时,jb4没有初始化,所以报空指针异常
this.add(jb4,BorderLayout.NORTH);
this.add(jb5,BorderLayout.CENTER);

------解决方案--------------------
能不复制就手敲,敲完检查下,自己发现错误进步才快。