Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个Java代码(简单的CardLayout程序)有什么错?_Java_Nullpointerexception_Jframe_Jlabel_Cardlayout - Fatal编程技术网

这个Java代码(简单的CardLayout程序)有什么错?

这个Java代码(简单的CardLayout程序)有什么错?,java,nullpointerexception,jframe,jlabel,cardlayout,Java,Nullpointerexception,Jframe,Jlabel,Cardlayout,-单击此链接获取代码。(没有在这里张贴以保持问题的干净性) 我最近试图创建一个简单的Java程序来学习cardLayout。 我想让这个程序在一开始就显示一个JLabel,上面写着“Label1”。 当用户单击标签时,我想切换卡片。i、 e显示Label2 "Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at potpie.changeLabel(potpie.java:34)" 这就是我得到的错误。

-单击此链接获取代码。(没有在这里张贴以保持问题的干净性)

我最近试图创建一个简单的Java程序来学习cardLayout。 我想让这个程序在一开始就显示一个JLabel,上面写着“Label1”。 当用户单击标签时,我想切换卡片。i、 e显示Label2

"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at potpie.changeLabel(potpie.java:34)"
这就是我得到的错误。它说我粘贴的代码中的第50行有问题

我似乎想不出哪里出了问题

    public void mouseClicked(MouseEvent arg0) 
    {
        potpie ccObj = new potpie();
        ccObj.changeLabel();
    }

是在一个新的potpie上调用changelab(顺便说一句,我讨厌你的类名和方法名,它们毫无意义),而不是在main中实例化的(调用.koko)上

看起来很清楚,
layout
cards
中至少有一个为空。请原谅,您是否有potpie的构造函数?将为新potpie而不是显示的potpie调用“changeLabel”方法。PaulTomblin是对的-
layout
cards
都为空,因为它们还没有在第84行创建的标签中初始化。@AnkurSharma最简单的说法是,不要更改馅饼的标签,而是创建一个新的,更改那个馅饼的标签,然后丢弃刚才更改的东西。您好,是的,我认为你是对的,我应该使用与调用.koko()相同的对象,但是我如何在其他类中使用该对象呢。我只在main中创建了它。让jFrame负责交换卡,而不是卡布局中的一个面板。@Paul Tomblin,但在我的特定情况下,我不能这样做。Label1应该像游戏主菜单中的播放按钮一样刺激。