Java 使用Cardlayout切换到特定的JPanel

Java 使用Cardlayout切换到特定的JPanel,java,swing,netbeans,jpanel,cardlayout,Java,Swing,Netbeans,Jpanel,Cardlayout,我已经开始使用netbeans开发Java桌面应用程序。我有7个不同的屏幕,为了表示它们,我使用了JPanel。一个JPanel代表每个JPanel,另一个包含所有JPanel(命名为mainPanel),它位于JFrame中。主面板使用Cardlayout在屏幕(JPanel)之间切换。我使用netbeans ui小部件(即拖放)构建了所有这些界面 布局 JFrame mainPanel (Jpanel) CardLayout Child1 (JPanel)

我已经开始使用netbeans开发Java桌面应用程序。我有7个不同的屏幕,为了表示它们,我使用了
JPanel
。一个JPanel代表每个JPanel,另一个包含所有JPanel(命名为mainPanel),它位于JFrame中。主面板使用
Cardlayout
在屏幕(JPanel)之间切换。我使用netbeans ui小部件(即拖放)构建了所有这些界面

布局

JFrame
    mainPanel (Jpanel) CardLayout
        Child1 (JPanel)
        Child2 (JPanel)
        .
        .
        .
        .
        Childn (Jpanel)
我知道可以使用
JPanel.next()
JPanel.previous
切换屏幕。但只有在连续屏幕之间进行切换时,即必须切换到相邻屏幕时,才能使用它们。还有一种方法
JPanel.show()
可以转到特定的屏幕,但问题是它采用了一个参数
name
,当您使用
JPanel.add()
函数将其添加到主面板时,该参数是一个关联的
字符串。我已经使用拖放添加了所有内容,所以我不知道与
String
关联的是什么,如果关联的话。 虽然它看起来非常原始,而且我已经在没有
Cardlayout
的情况下完成了它,但这次,Cardlayout是一项要求

非常感谢您的帮助

这将使用
JComboBox
更换卡。该示例扩展了
JPanel
以添加名称,但是
Component
getName()
setName()
方法作为替代方法。另见本节相关内容

嗯。。。我得到了答案。 问题是,当您通过接口添加某些内容时,它的代码是自动生成的,默认情况下是隐藏的。因此,我必须研究关联字符串的自动生成代码。默认情况下,它是card1、card2、card3等

垃圾神回答的例子正是我想要的,但不是我想要的方式。它已手动关联自定义Jpanel中的字符串。但这让我想到了研究自动生成的代码。所以,非常感谢:)

现在我需要做的是

 mainPanel.show (gameHome, "Card3");
或者,使用

它更适合你在这里要做的事情