Java 运行GUI时出现NullPointerException错误

Java 运行GUI时出现NullPointerException错误,java,user-interface,nullpointerexception,Java,User Interface,Nullpointerexception,我对GUI的了解有限。我正在尝试创建一个非常基本的GUI,到目前为止,我有以下几点: public class Controller { // variables private JFrame ACMEFrame; private JPanel contentPane; private JPanel contentPanel; private JPanel detailsPanel; private JPanel buttonPanel;

我对GUI的了解有限。我正在尝试创建一个非常基本的GUI,到目前为止,我有以下几点:

public class Controller {

    // variables   
    private JFrame ACMEFrame;
    private JPanel contentPane;
    private JPanel contentPanel;
    private JPanel detailsPanel;
    private JPanel buttonPanel;
    private JLabel label;
    private JComboBox box;

    private JButton ok;
    private JButton quit;


    // constructor
    public Controller() {
        handleAddCruiseToShip();
    }

    public final void handleAddCruiseToShip() {

        ACMEFrame = new JFrame("Assign Cruise to Ship"); // name of frame
        ACMEFrame.setSize(600, 400); // size of JFrame
        ACMEFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // exit JFrame on close

        contentPanel = new JPanel();
        contentPanel.setBackground(Color.GREEN);

        quit = new JButton("Quit");
        ok = new JButton("Ok");

        detailsPanel.add(quit);
        detailsPanel.add(ok);

        ACMEFrame.add(detailsPanel);

        ACMEFrame.pack();
        ACMEFrame.setVisible(true);

    }
}
但是,在运行测试类(guiTest)时,我遇到了以下错误:

Exception in thread "main" java.lang.NullPointerException
    at Controller.AddCruiseToShip(Controller.java:42)
    at Controller.<init>(Controller.java:26)
    at guiTest.main(guiTest.java:10)
}

我如何克服这个问题


谢谢。

您从未实例化过您的detailsPanel。然后将按钮添加到它并将其添加到ACMEFrame。这会导致空指针异常,因为您只声明了它。在使用contentPanel时,您需要添加如下内容:

detailsPanel = new JPanel();

因此,对contentPanel执行某些操作可能是有意义的,因为您已经创建了它…

可能与
Controller3
的位置重复?也发布测试代码,因为这是错误发生的地方。发布主函数,甚至是Controller3类。我认为您需要向该类添加一个默认构造函数@user3650137此答案对您有帮助吗?
detailsPanel = new JPanel();