A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fenzheng 中级黑马   /  2014-5-29 15:07  /  1394 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[img][/img]package com.itheima;
import java.awt.*;
import javax.swing.*;
public class Haha extends JFrame{
        private JTextField wbk;
        private JPasswordField mmk;
        private JLabel bq1,bq2;
        private JPanel mb1,mb2,mb3;
        private JButton an1,an2;
        public Haha(){
                mb1=new JPanel();
                mb2=new JPanel();
                mb3=new JPanel();
                wbk=new JTextField(10);
                mmk=new JPasswordField(10);
                bq1=new JLabel("username");
                bq2=new JLabel("password");
                an1=new JButton("login");
                an1=new JButton("unlogin");
               
                this.setLayout(new GridLayout(3,1));
                mb1.add(bq1);mb1.add(wbk);
                mb2.add(bq2);mb2.add(mmk);
                mb3.add(an1);mb3.add(an2);
                this.add(mb1);
                this.add(mb2);
                this.add(mb3);
                this.setTitle("lgoingwindow");
                this.setSize(300,300);
                this.setVisible(true);
                this.setResizable(false);
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        public static void main(String[] args){
                new Haha();
        }
       
}






Exception in thread "main" java.lang.NullPointerException
        at java.awt.Container.addImpl(Container.java:1090)
        at java.awt.Container.add(Container.java:410)
        at com.itheima.Haha.<init>(Haha.java:24)
        at com.itheima.Haha.main(Haha.java:35)

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

3 个回复

倒序浏览
很明显嘛,你的第18,19行两次给an1这个按钮赋值?第二个应该是an2, 你写错了。
回复 使用道具 举报
哦,这样啊!,你怎么一下就看出来了,我就不知道为什么呢?
回复 使用道具 举报
本帖最后由 波涛 于 2014-5-29 18:25 编辑
fenzheng 发表于 2014-5-29 15:32
哦,这样啊!,你怎么一下就看出来了,我就不知道为什么呢?

从你贴出的错误信息找到的,报NullPointerException(空指针异常),一般情况下是由于某个对象没有实例化就直接使用导致的。
Exception in thread "main" java.lang.NullPointerException
        at java.awt.Container.addImpl(Container.java:1090)
        at java.awt.Container.add(Container.java:410)
        at com.itheima.Haha.<init>(Haha.java:24)
        at com.itheima.Haha.main(Haha.java:35)

看到以上错误你这样来分析:
首先看最后一行提示,说第35行代码出错,然后你就回头看35行是什么,一看是主方法中的new Haha();
                                    这句出错,说明new对象失败,哪里引起的?
继续看上一行错误提示就知道了,提示24行代码出错(导致35行失败的原因),查看24行代码“mb3.add(an2);”
                           说明控件an2添加到mb3失败,why? 显然,通过最上面人家已经给你的提示“NullPointerException",说明
                           对象mb3或an2其中有一个你没有初始化就拿来用了,在你的代码中一查证,ok,原来是你的按钮an2没有初始化,所以添加到mb3失败。

评分

参与人数 1技术分 +2 收起 理由
李小然 + 2 回答的nice!

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马