Java 使用Cardlayout切换到特定的JPanel
我已经开始使用netbeans开发Java桌面应用程序。我有7个不同的屏幕,为了表示它们,我使用了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)
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");
或者,使用
它更适合你在这里要做的事情