关于Exception in thread "main" java问题.lang.NullPointerException

tobyluo 2010-01-11 06:21:21
编译吧不报错 但执行 就会 出现 以下 内容
--------------------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();
}
}
...全文
1473 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wmp88520 2010-01-17
  • 打赏
  • 举报
回复
属性中的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();
}
}
poFate 2010-01-11
  • 打赏
  • 举报
回复
上边的代码已经可以运行了 再找bug的时候根据它报错的行号一步步的找 细点心
at customerInfor. <init>(customerInfor.java:60) 错误在60行
at customerInfor.main(customerInfor.java:172)
poFate 2010-01-11
  • 打赏
  • 举报
回复

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 没有初始化
bolink5 2010-01-11
  • 打赏
  • 举报
回复
开发也有几年了,但还没怎么用过swing
说下空指向的一般解决方法
首先你找到报错的哪行代码,先看看这行代码中总共有几个对象,然后进行一一排除,如此,就可以解决问题。
在开发中,空指向是很普遍的问题。
chenyong0214 2010-01-11
  • 打赏
  • 举报
回复
customerNameJlabel没有初始化,必然NULL pointer
huntor 2010-01-11
  • 打赏
  • 举报
回复
customerNameJlabel 没有初始化

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧