在CardLayout中显示卡片本身的下一张卡片

时间:2013-02-02 10:04:16

标签: java swing jpanel layout-manager cardlayout

  

可能重复:
  Parent container/panel for a CardLayout

如何从卡片面板本身显示卡片面板(其布局不是CardLayout,但是包含在具有CardLayout的面板中)?我不想在容器中放置单独的导航栏,因为我需要访问卡数据。

1 个答案:

答案 0 :(得分:0)

您可以使用面板的getParent()方法访问父组件(可以从每个AWT / Swing组件访问此方法)。如果您的面板没有直接放置在具有卡片布局的面板中,您应该反复调用此方法,直到获得所需的面板。

示例:

Component myComp; // for example your navigation bar
Component parent = myComp.getParent();
while (null != parent) {
  if (parent.getLayout() instanceof CardLayout) {
    break;
  }
  parent = parent.getParent();
}
if (null != parent) {
  // now we have parent with the card layout
}