0

コードの問題を調査するのに何時間も費やしましたが、見つけられないようです。CardLayout を使用した経験はありませんが、他のインスタンスに基づいて、正しく実装したと感じています。JPanel を拡張したカスタム パネルを使用して 2D ゲームを開発しています。他のドライバー アプレットで個別にテストしたので、パネルが機能することはわかっています。アプレットを実行するたびに、画面が完全に空白になります。どうしてこうなるのか不思議です。コンパイル時にエラーや警告は表示されません。

これが私のアプレットのコードです。どんな助けでも大歓迎です:

    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");
        }

   }
4

2 に答える 2

1

cardPanel をアプレットに追加しないため、表示する子コンポーネントがありません。

this.add(cardPanel);
于 2013-04-14T06:42:45.707 に答える