异常提示:
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1045)
at java.awt.Container.add(Container.java:365)
at com.Textarea.JT_area.<init>(JT_area.java:23)
at com.Textarea.JT_area.main(JT_area.java:58)
为什么会报这个异常???
原因找到了:
jp.add(jtf);
jp.add(jb);
jtf=new JTextField(20);
是因为这三个的顺序不当引起,因为,jtf还没有被初始化的情况下,被: jp.add(jtf); 这样使用,肯定是不行的,这是的对象为空。所以会报空指针异常。
空指针,引用没有初始化就使用了。
总结:通常报:Exception in thread "main" java.lang.NullPointerException 即:空指针异常,
通常是,由于,对象没有被初始化就使用造成的。
对象,必须初始化即实例化之后,才能使用!
都有哪些情况下会报异常???
异常的种类 ?以及各种异常的处理方法啊??
package com.Textarea;
import javax.swing.*;
import java.awt.*;
import java.io.*;
public class JT_area extends JFrame
{
JScrollPane jsp=null;
JTextArea jta=null;
JTextField jtf=null;
JButton jb=null;
JPanel jp=null;
public JT_area()
{
// 定义按钮
jb=new JButton("发送");
jp=new JPanel();
jp.add(jtf);
jp.add(jb);
// 定义三个组件
jta=new JTextArea();
jtf=new JTextField();
jsp=new JScrollPane(jta);
this.add(jsp,"Center");
this.add(jp,"South");
// 设置框架
this.setLocation(300, 300);
this.setSize(300,400);
this.setTitle("聊天对话框");
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args)
{
JT_area jtar=new JT_area();
}
}