getContentPane().setLayout(new CardLayout());
CardLayout x = (CardLayout) getLayout();我使用的是Netbeans,在Design manager中,我选择了JFrame内容作为CardLayout。然而,到目前为止,我还不能让它工作。我在initComponenets调用之后设置了上面的代码,但仍然有这个错误:
java.awt.BorderLayout cannot be cast to java.awt.CardLayout不知怎么的,我用BorderLayout代替了CardLayout。这怎么可能呢?我刚刚将布局设置为CardLayout。PS:我的类扩展了javax.swing.JFrame。
发布于 2012-12-14 11:00:42
您可以使用:
CardLayout x = (CardLayout) getContentPane().getLayout();与切换卡片面板类似,您可以使用:
x.show(getContentPane(), "card2");如果你只是简单地使用一个单独的JPanel作为“卡片”容器,如果你想要添加导航按钮,比如在JFrame位置,你会得到使用BorderLayout BorderLayout的额外好处,这不是问题。
Essential reading for using CardLayout
https://stackoverflow.com/questions/13871996
复制相似问题