CardLayout无法正常工作

时间:2012-08-10 19:39:47

标签: java swing awt layout-manager cardlayout

我正在开发用户登录的小游戏。登录后,您将可以进入主菜单。我使用的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();
}

2 个答案:

答案 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将在它看到更改时重新绘制布局,删除方法调用重绘。