我的名字是罗素!
所以我收到了这些错误:
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at PatientPanel.<init>(PatientPanel.java:30)
第30行是这一行:add(fNameField);
我不确定为什么。我之前从未使用JTextField
..所以我可能做错了什么。哎呀,我是这个整个编程的新手。所以我可能做了很多错事!我查看了其他 nullPointerException 案例,但找不到处理JTextField
我觉得这很简单,但就像我说的,我是新人!
非常感谢任何帮助!
import javax.swing.*;
import java.awt.*;
public class PatientPanel extends JPanel
{
private JLabel fName = new JLabel("First Name: ");
private JLabel lName = new JLabel("Last Name: ");
private JTextField fNameField;
private JTextField lNameField;
public PatientPanel()
{
setLayout(new GridLayout(2,1));
add(fName);
add(fNameField);
add(lName);
add(lNameField);
}
}
答案 0 :(得分:2)
private JTextField fNameField;
add(fNameField);
在尝试调用函数之前,你永远不会设置fNameField的值,因此它的值为null并且add不起作用。 您可以使用
private JTextField fNameField = new JTextField(...);
并使用lNameField
执行相同的操作