运行时出现错误:Exception in thread "main" java.lang.NullPointerException
该问题多半是由于用到的某个对象只进行了声明,而没有初始化,即没有被new。
找到32行:heightTextField.addFocusListener(this);
前面有:JTextField heightTextField;只创建了heigthTextField对象,编写程序时没有报错,但是没有new,不能add。
错误原因:heigthTextField没有创建就直接往里面add。
改:bpHeight=new BoxPanel("请输入矩形的高:",10);
heightTextField=bpHeight.getJTextField();
heightTextField.addFocusListener(this);这样就可以,间接地进行了初始化。也可以直接new:
JTextField heightTextField;
heightTextField=new JTextField();
heightTextField.addFocusListener(this);