解决方案 »

  1.   

    我发现是在b.addActionListener(new Text());中
    要将  new Text()   改为 this   
    但是为什么呢
      

  2.   

    this代表当前对象,你的是new Text(),是每次调用时都生成一个新的对象;
    还有你关闭时应该不能正常关闭吧;
    添加一段代码,关闭了吧;
    public class Text extends Frame implements ActionListener
    { TextField t1;
    Button b; public void launchFram()
    {
    setBounds(100, 50, 100, 100);
    setLayout(new FlowLayout()); t1 = new TextField(10);
    b = new Button("登陆");
    add(t1);
    add(b);
    b.addActionListener(this);
    setVisible(true); this.addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    }); } public void actionPerformed(ActionEvent e)
    { String s = t1.getText(); // 为什么这会出现空指针错误
    System.out.println(s); } public static void main(String[] args)
    { new Text().launchFram(); }
      

  3.   

    b.addActionListener(new Text());
    这个 new 出来的 Text 对象的 t1 没有值,null
      

  4.   

    在 TextField 中要自己写点东西
      

  5.   

    new了一个新的test之后里面对象为空
      

  6.   

    你添加的是另外一个text,当你点击以后,处理事件的是那个对象里面的方法,那里面的launch方法没有执行过,当然有空指针了
      

  7.   

    你没有new  一个t1出来,空指针异常通常是没有赋值就直接使用造成的(同样初学者飘过~)