我的代码中出现 NullPointerException 但无法弄清楚原因

NullPointerException in my code but can't figure out why

我正在使用 CardLayout() 为我的学校作业编写一个程序,但我一直收到空指针错误,但我不明白为什么。有人可以指出我的代码中的错误吗?代码不完整,但小程序打开并显示按钮而不是卡片。

我得到的错误是当我按下输入按钮时(所以它在 ActionListener 中):

线程异常 "AWT-EventQueue-1" java.lang.NullPointerException 在 BookCentre.actionPerformed(BookCentre.java:162)

//removed code since assignment is due in a week.

问题是——正如@mike 所建议的——CardDeck1 变量从未被初始化。我在声明中初始化它只是为了测试目的,你必须在代码的必要部分,你真正需要它的地方做。

    //Only for testing purposes
    // Create JPanel deck and add cards to it
    deck = new JPanel();
    CardDeck1 = new CardLayout();
    deck.setLayout(CardDeck1);
    deck.add(inputCard(), INPUT);

结果: