本文共 980 字,大约阅读时间需要 3 分钟。
报错的内容如下:
Exception in thread "main" java.lang.NullPointerException at lzq.FlowLayout.(FlowLayout.java:17) at lzq.FlowLayout.main(FlowLayout.java:29)
源代码如下(包的应用在此不一 一列出,简化):
public class FlowLayout extends JFrame{ public JFrame jf1; public JButton add,update,delete; public FlowLayout() { add = new JButton("增加"); jf1.setVisible(true);//报错出现的第一行 jf1.setSize(400,400); jf1.setTitle("Flow定位"); jf1.add(add); } public static void main(String[] args) { FlowLayout jbt = new FlowLayout();//报错出现的第二行 }}
代码看似没有一丁点错误,可是为什么会报错呢?
在定义了一个JFrame jf1 ; 在这个地方定义的是一个对象,而既然是对象我们没有对他进行分配空间(没有new)又怎么去使用呢? 所以修改只需要对JFrame jf1进行初始化即可:如下:public class FlowLayout extends JFrame{ public JFrame jf; JFrame jf1 = new JFrame();//在此处对jf初始化 public JButton add,update,delete; public FlowLayout() { add = new JButton("增加"); jf1.setVisible(true); jf1.setSize(400,400); jf1.setTitle("Flow定位"); jf1.add(add); } public static void main(String[] args) { FlowLayout jbt = new FlowLayout(); }}
转载地址:http://kyqzi.baihongyu.com/