Настройка CardLayout - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь создать игру с помощью CardLayout, но не могу понять, как это сделать. Я получаю сообщение об ошибке:

incompatible types: CardLayout cannot be converted to LayoutManager
       c.setLayout(cardsL);

Вот как я создаю панели:

public class RunGame extends JFrame{
    static CardLayout cardsL;
    static Container c;
    public RunGame(){    //constructor
       c=getContentPane();
       cardsL=new CardLayout();
       c.setLayout(cardsL);
       JPanel menuP = new Menu();
       JPanel gameP = new Game();
       c.add("Menu", menuP);
       c.add("Game", gameP);
    }

    public static void main(String[] args) {
        RunGame a = new RunGame();
        a.setSize(500, 500);
        a.setVisible(true);
        a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    }
}

Однако, когда я в основном делаю то же самое в другом файле, я не получаю Ошибка. Код в другом файле:

public class Card_Layout_Demo extends JFrame{
    static CardLayout cardsL;
    static Container c;

    MyMenuPanel  menuP;  // object of my customized class MyMenuPanel
    MyGamePanel gameP;   // object of my customized class MyGamePanel

    public Card_Layout_Demo(){    //constructor
       c=getContentPane();
       cardsL=new CardLayout();
       c.setLayout(cardsL);
       menuP = new MyMenuPanel();
       gameP = new MyGamePanel();
       c.add("MenuNickName", menuP);
       c.add("GameNickName", gameP);

    }

    public static void main(String[] args) {
        Card_Layout_Demo a = new Card_Layout_Demo();
        a.setSize(500, 500);
        a.setVisible(true);
        a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...