CardLayout error: wrong parent for card layout

CardLayout error: wrong parent for card layout

我已经为我的 类 之一使用了卡片布局,但是它显示错误。

我的代码运行方式与此类似:

// panels instantiated
CardLayout cl = new CardLayout();
panel1.setLayout(cl);
panel2.setLayout(cl);

panel1.add(new JLabel("0 0"), "0");
panel1.add(new JLabel("0 1"), "1");

panel2.add(new JLabel("1 0"), "0");
panel2.add(new JLabel("1 1"), "1");

add(panel1);
add(panel2);

cl.show(panel1, "0");
cl.show(panel2, "0");  // error at this line

为什么不将 panel2 视为父容器(IllegalArgumentException)?

如有任何帮助,我们将不胜感激。 谢谢

CardLayout 不是一种可以在容器之间共享的布局,您应该只将 CardLayout 添加到一个容器中。如果您需要使用布局的两个容器,请为每个容器提供自己的 CardLayout 对象。