我正在开发用户登录的小游戏。登录后,您将可以进入主菜单。我使用的CardLayout无效。最后一些字符串包含面板名称。我已经调试了一段时间,我确信已经达到了这段代码。欢迎任何提示。谢谢!
/*
* showPanel()
* Method to switch to a different panel
* @author Rick Slinkman
*/
public void showPanel(String newPanel)
{
game.setCurrentPanel(newPanel);
cardLayout.show(mainpanel, newPanel);
revalidate();
repaint();
}
答案 0 :(得分:4)
唯一出错的是我没有重新验证持有卡片的JPanel。这是解决方案!感谢大家努力帮助我。
/*
* showPanel()
* Method to switch to a different panel
* @author Rick Slinkman
*/
public void showPanel(String newPanel)
{
game.setCurrentPanel(newPanel);
this.cardLayout = (CardLayout) cards.getLayout();
cardLayout.show(cards, "" + newPanel);
cards.revalidate();
}
答案 1 :(得分:0)
如果调用此方法,则代码不需要在任何地方重绘() Swing将在它看到更改时重新绘制布局,删除方法调用重绘。