Java:javax swing 和 awt 错误

Java : javax swing and awt errors

所以,我在 Java 中有一个代码,表明它成功了,但我得到的错误甚至不是来自我的项目。不过我对此无能为力……我已经尝试只导入需要的部分,但我仍然遇到同样的错误。我什至不知道 "container" 是什么。我刚刚完成 Java 基础知识并继续学习。现在我有第二台电脑(一台 macbook air),它有相同的代码,但它根本没有任何错误。可能是我的 IDE,Java JDK 之类的?或者只是导入的文件有些奇怪?谢谢。 代码:

package windowsgui;

import javax.swing.*;
import java.awt.*;

public class WindowsGUI extends JFrame {

private JLabel label;
private JButton button;
private JTextField testfield;

public WindowsGUI() {
    setLayout (new FlowLayout());

    label = new JLabel("This is a label");
    add(testfield);

    button = new JButton("This is a button");
    add(button);

}

public static void main (String args[]) {
    WindowsGUI gui = new WindowsGUI();

    gui.setSize(600, 400);
    gui.setResizable(false);
    gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    gui.setVisible(true);

}

}

错误:

run:
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1091)
at java.awt.Container.add(Container.java:1003)
at javax.swing.JFrame.addImpl(JFrame.java:564)
at java.awt.Container.add(Container.java:415)
at windowsgui.WindowsGUI.<init>(WindowsGUI.java:19)
at windowsgui.WindowsGUI.main(WindowsGUI.java:27)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
label = new JLabel("This is a label");
add(label);

testfield = new JTextField("This is text Field"); 
add(testfield);

button = new JButton("This is a button");
add(button);

您没有初始化测试域,但您尝试添加测试域,因此它给出空指针异常。解决方案:初始化测试域,然后添加它。