Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我会得到一个NullPointerException_Java_Nullpointerexception_Jtextfield - Fatal编程技术网

Java 为什么我会得到一个NullPointerException

Java 为什么我会得到一个NullPointerException,java,nullpointerexception,jtextfield,Java,Nullpointerexception,Jtextfield,我叫拉塞尔 所以我得到了这些错误: 线程“main”java.lang.NullPointerException中的异常 位于java.awt.Container.addImpl(未知源) 位于java.awt.Container.add(未知源) 在PatientPanel。(PatientPanel.java:30) 第30行是这一行:add(fNameField) 我真的不知道为什么。不过,我以前从未使用过JTextField。。所以我可能做错了什么。见鬼,我对这整个程序设计都是新手。所

我叫拉塞尔

所以我得到了这些错误:

线程“main”java.lang.NullPointerException中的异常 位于java.awt.Container.addImpl(未知源) 位于java.awt.Container.add(未知源) 在PatientPanel。(PatientPanel.java:30) 第30行是这一行:
add(fNameField)

我真的不知道为什么。不过,我以前从未使用过
JTextField
。。所以我可能做错了什么。见鬼,我对这整个程序设计都是新手。所以我可能做了很多错事!我查看了其他nullPointerException案例,但没有找到一个处理
JTextField

我觉得这很简单,但就像我说的,我是新来的

非常感谢您的帮助

import javax.swing.*;
导入java.awt.*;
公共类PatientPanel扩展了JPanel
{
private JLabel fName=新JLabel(“名字:”);
private JLabel lName=新JLabel(“姓氏:”);
私有JTextField fNameField;
私有JTextField lNameField;
公共电话()
{
setLayout(新网格布局(2,1));
添加(fName);
添加(fNameField);
添加(lName);
添加(lNameField);
}
}
在尝试对fNameField调用函数之前,您从未设置过fNameField的值,因此它的值为null,add将不起作用。 你也许可以用

private JTextField fNameField = new JTextField(...);

对lNameField执行相同的操作

私有JTextField lNameField=new JTextField()
。在添加问题之前对其进行初始化只是一个注释:如果你发布了一个问题,请确保它易于阅读,这将增加它被回答的可能性。设置文本格式,例如,错误消息显示为块,不会流入文本中,并且如果类名称和变量名称出现在文本中,也会突出显示它们。您也不需要在标题中添加
Java
,将其作为标记添加到您的问题中就足够了。感谢您提供的所有提示!一切都很有帮助,因为我真的不知道我在做什么——哈哈,我不明白为什么这个问题被高估了?什么让你印象深刻?真的很有趣很奇怪你,我的朋友。你太棒了。我如何关闭这个?喜欢如果你回答了我的问题,哈哈。非常感谢你!只需单击答案左侧投票按钮下方的复选标记
private JTextField fNameField = new JTextField(...);