我开始使用netbeans开发Java桌面应用程序。我有7个不同的屏幕并代表他们我正在使用JPanel
。一个JPanel代表它们,一个代码包含所有它们(命名为mainPanel),它位于JFrame中。 mainPanel使用Cardlayout
来切换屏幕(JPanels)。我使用netbeans ui小部件建立了所有这个界面,即拖放。
布局
JFrame
mainPanel (Jpanel) CardLayout
Child1 (JPanel)
Child2 (JPanel)
.
.
.
.
Childn (Jpanel)
我知道可以使用JPanel.next()
和Jpanel.previous
切换屏幕。但它们只能在连续屏幕之间进行切换时使用,即如果必须切换到直接邻居。还有一个方法JPanel.show()
可以转到特定的屏幕,但问题是,当您使用name
将其添加到mainPanel时,它会使用参数String
,这是您关联的JPanel.add()
功能。我已经使用拖放添加了所有内容,因此我不知道String
会被关联,如果有的话。
虽然它看起来非常原始,但我已经在没有Cardlayout
的情况下完成了它,但这一次,Cardlayout是一个要求。
帮助将受到高度赞赏
答案 0 :(得分:6)
答案 1 :(得分:5)
嗯......我得到了答案。 问题是,当你通过界面添加东西时,它的代码是自动生成的,默认情况下是隐藏的。所以,我不得不查看相关字符串的自动生成代码。默认情况下,它是card1,card2,card3等。
通过trashgod回答的例子正是我想要的,但不是我想要的方式。它已手动关联自定义Jpanel中的字符串。但它让我想到了查看自动生成的代码。所以,非常感谢你:))
现在我需要做的就像
mainPanel.show (gameHome, "Card3");
答案 2 :(得分:3)
作为替代方案,请使用ViewSwitcher
它更适合你在这里尝试做的事情。