Java 试图弄清楚卡片的布局

Java 试图弄清楚卡片的布局,java,swing,jpanel,layout-manager,cardlayout,Java,Swing,Jpanel,Layout Manager,Cardlayout,我正在尝试解决如何使用CardLayout,但我不断遇到“CardLayout的错误父项”之类的错误。我以前从未使用过CardLayout,在网上似乎找不到很多。我只需要能够在框架上的两个面板之间切换。谢谢你的帮助。这是我目前的代码: Frame f = new Frame(); CardLayout cardL = new CardLayout(); JPanel cards = new JPanel(cardL); f.add(cards); Star

我正在尝试解决如何使用CardLayout,但我不断遇到“CardLayout的错误父项”之类的错误。我以前从未使用过CardLayout,在网上似乎找不到很多。我只需要能够在框架上的两个面板之间切换。谢谢你的帮助。这是我目前的代码:

    Frame f = new Frame();
    CardLayout cardL = new CardLayout();
    JPanel cards = new JPanel(cardL);
    f.add(cards);
    StartPanel sp = new StartPanel();
    OtherPanel op = new OtherPanel();
    cards.add(sp, "Start");
    cards.add(op, "Other");

    cardL.show(sp, "Start");

    f.setVisible(true);
改变

正如将告诉您的那样,
show(…)
方法的第一个参数应该是对使用CardLayout的容器的引用

此外:

  • 避免混合AWT(框架)和Swing(JPanel)。取而代之的是只用摆动
  • 对CardLayout键使用字符串常量最安全。这样可以避免有害的拼写和大写错误
  • 对于类似的错误,请在来到这里之前转到第一个。解决办法经常在那里找到,学会这样做是一个好习惯
cardL.show(sp, "Start");
cardL.show(cards, "Start");