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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package Ketangcg;
  2. import java.awt.*;
  3. import java.awt.event.WindowAdapter;
  4. import java.awt.event.WindowEvent;



  5. public class DemoUI {
  6. private Frame f;
  7. private Button bt;
  8. private Label l;
  9. DemoUI(){
  10. init();
  11. }


  12. public static void main(String[] args)
  13. {
  14. DemoUI d=new DemoUI();
  15. System.out.println("sa");


  16. }
  17. private void myEvent()
  18. {
  19. f.addWindowListener(new WindowAdapter() {
  20. public void windowClosing(WindowEvent e)
  21. {
  22. System.out.println("关闭");
  23. System.exit(0);
  24. }

  25. });
  26. }
  27. private void init(){
  28. Frame f=new Frame("my swing");
  29. Button bt=new Button("按钮");
  30. Label l=new Label();
  31. f.add(l);
  32. f.add(bt);
  33. f.setSize(500,300);
  34. f.setLocation(300,200);
  35. f.setLayout(new FlowLayout());
  36. f.setVisible(true);
  37. myEvent();
  38. }

  39. }
复制代码
我的eclipse运行报异常。
Exception in thread "main" java.lang.NullPointerException
at Ketangcg.DemoUI.myEvent(DemoUI.java:26)
at Ketangcg.DemoUI.init(DemoUI.java:45)
at Ketangcg.DemoUI.<init>(DemoUI.java:13)
at Ketangcg.DemoUI.main(DemoUI.java:19)

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
  1. Frame f=new Frame("my swing");
  2. Button bt=new Button("按钮");
  3. Label l=new Label();
复制代码

这里错了,改成这样
  1. f=new Frame("my swing");
  2. bt=new Button("按钮");
  3. l=new Label();
复制代码

因为你上面已经定义过了,不需要再定义,这样定义的话这个就是局部对象了稚嫩这里面访问,外面的还是指向null

评分

参与人数 1技术分 +1 收起 理由
SyouRai_Tsk + 1

查看全部评分

回复 使用道具 举报
学习了!
回复 使用道具 举报
月光海 发表于 2014-5-9 15:23
这里错了,改成这样

因为你上面已经定义过了,不需要再定义,这样定义的话这个就是局部对象了稚嫩这里面 ...

感谢!!
回复 使用道具 举报
同上 这是空指针异常,当遇到这个异常,你就检查下你的变量声明的时候哪里出问题了就好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马