Java:javax swing和awt错误

时间:2015-01-07 05:16:55

标签: java netbeans

所以,我有一个Java代码,说它成功但我得到的错误甚至不是我的项目。我不能做任何事情虽然....我已经尝试只导入所需的部分,我仍然得到相同的错误。我甚至不知道什么是“容器”。我刚刚完成了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)

1 个答案:

答案 0 :(得分:1)

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);

您没有初始化测试字段,但是您尝试添加测试字段,因此它给出了null pointerException。解决方案:初始化测试字段然后添加它。