Я пытаюсь создать игру с помощью 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);
}
}