運行時出現錯誤: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);