0
getContentPane().setLayout(new CardLayout());
CardLayout x = (CardLayout) getLayout();

我正在使用 Netbeans,在设计管理器中我选择了我的 JFrame 内容作为 CardLayout。但是到目前为止我还不能让它工作。我在 initComponenets 调用之后设置了上面的代码,但我仍然有这个错误:

java.awt.BorderLayout cannot be cast to java.awt.CardLayout

不知何故,我有 BorderLayout 而不是 CardLayout。这怎么可能?我刚刚将布局设置为 CardLayout。PS:我的课程扩展了 javax.swing.JFrame。

4

1 回答 1

2

您可以使用:

CardLayout x = (CardLayout) getContentPane().getLayout();

与切换卡面板类似,您可以使用:

x.show(getContentPane(), "card2");

如果您只是使用单独的作为“卡片”容器,并且如果您希望添加导航按钮(例如在位置中),您可以获得使用的额外好处,这不是问题。JPanelJFrame BorderLayoutBorderLayout.SOUTH

使用 CardLayout 的必备读物

于 2012-12-14T03:00:42.163 回答