我花了很多时间试图研究我的代码问题,但似乎还是找不到。我没有使用CardLayout的经验,但是基于其他实例,我觉得我已经正确实现了它。我正在使用扩展JPanel的自定义面板开发2d游戏。我知道我的面板可以工作,因为我已经在其他驱动程序小程序中分别对其进行了测试。每次运行Applet时,屏幕都完全空白。我对为什么会这样感到困惑。编译时没有错误或警告。
这是我的applet的代码,任何帮助将不胜感激:
public class DodgeDefender extends JApplet
{
private final int WIDTH = 800, HEIGHT = 800;
private JPanel cardPanel;
private IntroScreen intro;
private MainGame main;
private CardLayout manager;
public void init()
{
setSize(WIDTH, HEIGHT);
cardPanel = new JPanel();
manager = new CardLayout();
cardPanel.setLayout(manager);
intro = new IntroScreen();
main = new MainGame();
cardPanel.add(intro, "IntroScreen");
cardPanel.add(main, "MainGame");
manager.show(cardPanel, "IntroScreen");
}
public void mainGame()
{
manager.show(cardPanel, "MainGame");
}
}
最佳答案
您无需将cardPanel添加到小程序中,因此它没有任何子组件可显示:
this.add(cardPanel);