编译吧不报错   但执行 就会 出现 以下  内容
--------------------Configuration: <Default>--------------------
Exception in thread "main" java.lang.NullPointerException
    at java.util.Hashtable.put(Hashtable.java:399)
    at java.awt.GridBagLayout.setConstraints(GridBagLayout.java:482)
    at customerInfor.<init>(customerInfor.java:60)
    at customerInfor.main(customerInfor.java:172)Process completed.
源代码 是
//  客户信息 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class customerInfor extends JFrame
{
JButton SaveGroupInformationButton,DeleteInfoButton;
JLabel customerIDJlabel,customerNameJlabel,customerPhoneJlabel,
           contactMobilePhoneJlabel,contactNameJlabel,contactEmailJlabel,contactFaxJlable,
           contactAdressJlabel,custactpostcodeJlabel;
    JTextField customerIdField,customerNameField,customerPhomefield,customerMobiPhonefield,
               costactNameField,costactEmailField,contactFaxfield,contactAdressField,cunstactPosstcodeField; GridBagLayout g1;
GridBagConstraints  gbc;
public customerInfor(){
super("客户信息");
Container c=this.getContentPane();
customerIDJlabel=new JLabel("客户 ID");
customerIdField=new JTextField(20);
contactNameJlabel=new JLabel("客户姓名");
customerNameField=new JTextField(20);
        contactMobilePhoneJlabel=new JLabel("手机");
        customerMobiPhonefield=new JTextField(20);
        contactNameJlabel=new JLabel("联系人姓名");
        costactNameField=new JTextField(20);
        contactEmailJlabel=new JLabel("E-mail");
        costactEmailField=new JTextField(20);
        contactFaxJlable=new JLabel("传真");
        contactFaxfield=new JTextField(20);
        contactAdressJlabel=new JLabel("联系地址");
        contactAdressField=new JTextField(20);
        custactpostcodeJlabel=new JLabel("邮编");
        cunstactPosstcodeField=new JTextField(20);

g1=new GridBagLayout();
gbc=new GridBagConstraints();
c.setLayout(g1);

//给限定对象gbc的参数赋值

        
       // gbc.fill=GridBagConstraints.BOTH;
        gbc.weightx=1.0;
        gbc.gridx=0;
        gbc.gridy=0;
        g1.setConstraints(customerIDJlabel,gbc);
        c.add(customerIDJlabel);
        
        gbc.weightx=1.0;
        gbc.gridx=0;
        gbc.gridy=1;
        g1.setConstraints(customerIdField,gbc);
        c.add(customerIdField);
        
        gbc.weightx=1.0;
        gbc.gridx=0;
        gbc.gridy=3;
        g1.setConstraints(customerNameJlabel,gbc);
        c.add(customerNameJlabel);
        
        
          
        gbc.weightx=1.0;
        gbc.gridx=0;
        gbc.gridy=4;
        g1.setConstraints(customerNameField,gbc);
        c.add(customerNameField);
        
        gbc.weightx=1.0;
        gbc.gridx=1;
        gbc.gridy=0;
        g1.setConstraints(contactNameJlabel,gbc);
        c.add(contactNameJlabel);
        
        gbc.weightx=1.0;
        gbc.gridx=1;
        gbc.gridy=1;
        g1.setConstraints(costactNameField,gbc);
        c.add(costactNameField);
       
       gbc.weightx=1.0;
       gbc.gridx=1;
       gbc.gridy=2;
       g1.setConstraints(customerPhoneJlabel,gbc);
       c.add(customerPhoneJlabel);
       
       gbc.weightx=1.0;
       gbc.gridx=1;
       gbc.gridy=3;
       g1.setConstraints(customerPhomefield,gbc);
       c.add(customerPhomefield);
       
       gbc.weightx=1.0;
       gbc.gridx=2;
       gbc.gridy=0;
       g1.setConstraints(contactMobilePhoneJlabel,gbc);
       c.add(contactMobilePhoneJlabel);
       
       gbc.weightx=1.0;
       gbc.gridx=2;
       gbc.gridy=1;
       g1.setConstraints(customerMobiPhonefield,gbc);
       c.add(customerMobiPhonefield);
       
       gbc.weightx=1.0;
       gbc.gridx=2;
       gbc.gridy=2;
       g1.setConstraints(contactEmailJlabel,gbc);
       c.add(contactEmailJlabel);
       
       gbc.weightx=1.0;
       gbc.gridx=2;
       gbc.gridy=3;
       g1.setConstraints(costactEmailField,gbc);
       c.add(costactEmailField);
       
       gbc.weightx=1.0;
       gbc.gridx=3;
       gbc.gridy=0;
       g1.setConstraints(contactFaxJlable,gbc);
       c.add(contactFaxJlable);
       
       gbc.weightx=1.0;
       gbc.gridx=3;
       gbc.gridy=1;
       g1.setConstraints(contactFaxfield,gbc);
       c.add(contactFaxfield);
       
       gbc.weightx=1.0;
       gbc.gridx=3;
       gbc.gridy=2;
       g1.setConstraints(custactpostcodeJlabel,gbc);
       c.add(custactpostcodeJlabel);
       
       gbc.weightx=1.0;
       gbc.gridx=3;
       gbc.gridy=3;
       g1.setConstraints(cunstactPosstcodeField,gbc);
       c.add(cunstactPosstcodeField);
       
       
       gbc.gridx=4;
       gbc.gridy=0;
       gbc.weightx=1.0;
       g1.setConstraints(contactAdressJlabel,gbc);
       c.add(contactAdressJlabel);
       
       gbc.gridx=4;
       gbc.gridy=1;
       gbc.gridwidth=3;
       g1.setConstraints(contactAdressField,gbc);
       c.add(contactAdressField);
       
       
       
       
       
       this.setSize(350,200);
       this.setLocationRelativeTo(null);
      // this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       this.setVisible(true);
       
       
        
       
       
}
 public static void main (String[]args)
    {
     new customerInfor();
    }
}

解决方案 »

  1.   

    customerNameJlabel 没有初始化
      

  2.   

    customerNameJlabel没有初始化,必然NULL pointer
      

  3.   

     开发也有几年了,但还没怎么用过swing
      说下空指向的一般解决方法
        首先你找到报错的哪行代码,先看看这行代码中总共有几个对象,然后进行一一排除,如此,就可以解决问题。
      在开发中,空指向是很普遍的问题。
      
      

  4.   


    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class customerInfor extends JFrame
    {
    JButton SaveGroupInformationButton,DeleteInfoButton;
    JLabel customerIDJlabel,customerNameJlabel,customerPhoneJlabel,
            contactMobilePhoneJlabel,contactNameJlabel,contactEmailJlabel,contactFaxJlable,
            contactAdressJlabel,custactpostcodeJlabel;
        JTextField customerIdField,customerNameField,customerPhomefield,customerMobiPhonefield,
                  costactNameField,costactEmailField,contactFaxfield,contactAdressField,cunstactPosstcodeField;GridBagLayout g1;
    GridBagConstraints  gbc;
    public customerInfor(){
    super("客户信息");
    Container c=this.getContentPane();
    customerIDJlabel=new JLabel("客户 ID");
    customerIdField=new JTextField(20);
    contactNameJlabel=new JLabel("客户姓名");
    customerNameField=new JTextField(20);
    customerPhomefield = new JTextField(20);
            contactMobilePhoneJlabel=new JLabel("手机");
            customerMobiPhonefield=new JTextField(20);
            contactNameJlabel=new JLabel("联系人姓名");
            costactNameField=new JTextField(20);
            contactEmailJlabel=new JLabel("E-mail");
            costactEmailField=new JTextField(20);
            contactFaxJlable=new JLabel("传真");
            contactFaxfield=new JTextField(20);
            contactAdressJlabel=new JLabel("联系地址");
            contactAdressField=new JTextField(20);
            custactpostcodeJlabel=new JLabel("邮编");
            cunstactPosstcodeField=new JTextField(20);
    customerNameJlabel = new JLabel("你没有初始化");
    customerPhoneJlabel = new JLabel("你没有初始化2");
    g1=new GridBagLayout();
    gbc=new GridBagConstraints();
    c.setLayout(g1);//给限定对象gbc的参数赋值       
          // gbc.fill=GridBagConstraints.BOTH;
            gbc.weightx=1.0;
            gbc.gridx=0;
            gbc.gridy=0;
            g1.setConstraints(customerIDJlabel,gbc);
            c.add(customerIDJlabel);
           
            gbc.weightx=1.0;
            gbc.gridx=0;
            gbc.gridy=1;
            g1.setConstraints(customerIdField,gbc);
            c.add(customerIdField);
           
            gbc.weightx=1.0;
            gbc.gridx=0;
            gbc.gridy=3;
            g1.setConstraints(customerNameJlabel,gbc);
            c.add(customerNameJlabel);
           
           
             
            gbc.weightx=1.0;
            gbc.gridx=0;
            gbc.gridy=4;
            g1.setConstraints(customerNameField,gbc);
            c.add(customerNameField);
           
            gbc.weightx=1.0;
            gbc.gridx=1;
            gbc.gridy=0;
            g1.setConstraints(contactNameJlabel,gbc);
            c.add(contactNameJlabel);
           
            gbc.weightx=1.0;
            gbc.gridx=1;
            gbc.gridy=1;
            g1.setConstraints(costactNameField,gbc);
            c.add(costactNameField);
         
          gbc.weightx=1.0;
          gbc.gridx=1;
          gbc.gridy=2;
          g1.setConstraints(customerPhoneJlabel,gbc);
          c.add(customerPhoneJlabel);
         
          gbc.weightx=1.0;
          gbc.gridx=1;
          gbc.gridy=3;
          g1.setConstraints(customerPhomefield,gbc);
          c.add(customerPhomefield);
         
          gbc.weightx=1.0;
          gbc.gridx=2;
          gbc.gridy=0;
          g1.setConstraints(contactMobilePhoneJlabel,gbc);
          c.add(contactMobilePhoneJlabel);
         
          gbc.weightx=1.0;
          gbc.gridx=2;
          gbc.gridy=1;
          g1.setConstraints(customerMobiPhonefield,gbc);
          c.add(customerMobiPhonefield);
         
          gbc.weightx=1.0;
          gbc.gridx=2;
          gbc.gridy=2;
          g1.setConstraints(contactEmailJlabel,gbc);
          c.add(contactEmailJlabel);
         
          gbc.weightx=1.0;
          gbc.gridx=2;
          gbc.gridy=3;
          g1.setConstraints(costactEmailField,gbc);
          c.add(costactEmailField);
         
          gbc.weightx=1.0;
          gbc.gridx=3;
          gbc.gridy=0;
          g1.setConstraints(contactFaxJlable,gbc);
          c.add(contactFaxJlable);
         
          gbc.weightx=1.0;
          gbc.gridx=3;
          gbc.gridy=1;
          g1.setConstraints(contactFaxfield,gbc);
          c.add(contactFaxfield);
         
          gbc.weightx=1.0;
          gbc.gridx=3;
          gbc.gridy=2;
          g1.setConstraints(custactpostcodeJlabel,gbc);
          c.add(custactpostcodeJlabel);
         
          gbc.weightx=1.0;
          gbc.gridx=3;
          gbc.gridy=3;
          g1.setConstraints(cunstactPosstcodeField,gbc);
          c.add(cunstactPosstcodeField);
         
         
          gbc.gridx=4;
          gbc.gridy=0;
          gbc.weightx=1.0;
          g1.setConstraints(contactAdressJlabel,gbc);
          c.add(contactAdressJlabel);
         
          gbc.gridx=4;
          gbc.gridy=1;
          gbc.gridwidth=3;
          g1.setConstraints(contactAdressField,gbc);
          c.add(contactAdressField);
          this.setSize(350,200);
          this.setLocationRelativeTo(null);
          // this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          this.setVisible(true);
         
         
           
         
         
    }
    public static void main (String[]args)
        {
        new customerInfor();
        }

    customerNameJlabel 你没有初始化
    customerPhoneJlabel 你没有初始化2
    customerPhomefield 没有初始化
      

  5.   

    上边的代码已经可以运行了   再找bug的时候根据它报错的行号一步步的找 细点心
    at customerInfor. <init>(customerInfor.java:60) 错误在60行
        at customerInfor.main(customerInfor.java:172) 
      

  6.   

    属性中的jlable和jtextfiled都没有实例化所以会报错,
    package cn.com.test;import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;public class customerInfor extends JFrame {
    JButton SaveGroupInformationButton, DeleteInfoButton; JLabel customerIDJlabel=new JLabel(), customerNameJlabel=new JLabel(), customerPhoneJlabel=new JLabel(),
    contactMobilePhoneJlabel=new JLabel(), contactNameJlabel=new JLabel(), contactEmailJlabel=new JLabel(),
    contactFaxJlable=new JLabel(), contactAdressJlabel=new JLabel(), custactpostcodeJlabel=new JLabel(); JTextField customerIdField=new JTextField(), customerNameField=new JTextField(), customerPhomefield=new JTextField(),
    customerMobiPhonefield=new JTextField(), costactNameField=new JTextField(), costactEmailField=new JTextField(),
    contactFaxfield=new JTextField(), contactAdressField=new JTextField(), cunstactPosstcodeField=new JTextField(); GridBagLayout g1; GridBagConstraints gbc; public customerInfor() {
    super("客户信息");
    Container c = this.getContentPane();
    customerIDJlabel = new JLabel("客户 ID");
    customerIdField = new JTextField(20);
    contactNameJlabel = new JLabel("客户姓名");
    customerNameField = new JTextField(20);
    contactMobilePhoneJlabel = new JLabel("手机");
    customerMobiPhonefield = new JTextField(20);
    contactNameJlabel = new JLabel("联系人姓名");
    costactNameField = new JTextField(20);
    contactEmailJlabel = new JLabel("E-mail");
    costactEmailField = new JTextField(20);
    contactFaxJlable = new JLabel("传真");
    contactFaxfield = new JTextField(20);
    contactAdressJlabel = new JLabel("联系地址");
    contactAdressField = new JTextField(20);
    custactpostcodeJlabel = new JLabel("邮编");
    cunstactPosstcodeField = new JTextField(20); g1 = new GridBagLayout();
    gbc = new GridBagConstraints();
    c.setLayout(g1); //给限定对象gbc的参数赋值  // gbc.fill=GridBagConstraints.BOTH; 
    gbc.weightx = 1.0;
    gbc.gridx = 0;
    gbc.gridy = 0;
    g1.setConstraints(customerIDJlabel, gbc);
    c.add(customerIDJlabel); gbc.weightx = 1.0;
    gbc.gridx = 0;
    gbc.gridy = 1;
    g1.setConstraints(customerIdField, gbc);
    c.add(customerIdField);
    gbc.weightx = 1.0;
    gbc.gridx = 0;
    gbc.gridy = 3;
    g1.setConstraints(customerNameJlabel, gbc);
    c.add(customerNameJlabel); gbc.weightx = 1.0;
    gbc.gridx = 0;
    gbc.gridy = 4;
    g1.setConstraints(customerNameField, gbc);
    c.add(customerNameField); gbc.weightx = 1.0;
    gbc.gridx = 1;
    gbc.gridy = 0;
    g1.setConstraints(contactNameJlabel, gbc);
    c.add(contactNameJlabel); gbc.weightx = 1.0;
    gbc.gridx = 1;
    gbc.gridy = 1;
    g1.setConstraints(costactNameField, gbc);
    c.add(costactNameField); gbc.weightx = 1.0;
    gbc.gridx = 1;
    gbc.gridy = 2;
    g1.setConstraints(customerPhoneJlabel, gbc);
    c.add(customerPhoneJlabel); gbc.weightx = 1.0;
    gbc.gridx = 1;
    gbc.gridy = 3;
    g1.setConstraints(customerPhomefield, gbc);
    c.add(customerPhomefield); gbc.weightx = 1.0;
    gbc.gridx = 2;
    gbc.gridy = 0;
    g1.setConstraints(contactMobilePhoneJlabel, gbc);
    c.add(contactMobilePhoneJlabel); gbc.weightx = 1.0;
    gbc.gridx = 2;
    gbc.gridy = 1;
    g1.setConstraints(customerMobiPhonefield, gbc);
    c.add(customerMobiPhonefield); gbc.weightx = 1.0;
    gbc.gridx = 2;
    gbc.gridy = 2;
    g1.setConstraints(contactEmailJlabel, gbc);
    c.add(contactEmailJlabel); gbc.weightx = 1.0;
    gbc.gridx = 2;
    gbc.gridy = 3;
    g1.setConstraints(costactEmailField, gbc);
    c.add(costactEmailField); gbc.weightx = 1.0;
    gbc.gridx = 3;
    gbc.gridy = 0;
    g1.setConstraints(contactFaxJlable, gbc);
    c.add(contactFaxJlable); gbc.weightx = 1.0;
    gbc.gridx = 3;
    gbc.gridy = 1;
    g1.setConstraints(contactFaxfield, gbc);
    c.add(contactFaxfield); gbc.weightx = 1.0;
    gbc.gridx = 3;
    gbc.gridy = 2;
    g1.setConstraints(custactpostcodeJlabel, gbc);
    c.add(custactpostcodeJlabel); gbc.weightx = 1.0;
    gbc.gridx = 3;
    gbc.gridy = 3;
    g1.setConstraints(cunstactPosstcodeField, gbc);
    c.add(cunstactPosstcodeField); gbc.gridx = 4;
    gbc.gridy = 0;
    gbc.weightx = 1.0;
    g1.setConstraints(contactAdressJlabel, gbc);
    c.add(contactAdressJlabel); gbc.gridx = 4;
    gbc.gridy = 1;
    gbc.gridwidth = 3;
    g1.setConstraints(contactAdressField, gbc);
    c.add(contactAdressField); this.setSize(350, 200);
    this.setLocationRelativeTo(null);
    // this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    this.setVisible(true); } public static void main(String[] args) {
    new customerInfor();
    }
    }