可能重复:
CardLayout 的父容器/面板
如何从卡片面板本身显示卡片面板(其布局不是 CardLayout,但包含在具有 CardLayout 的面板中)?我不想在容器中放置单独的导航栏,因为我需要访问卡片数据.
可能重复:
CardLayout 的父容器/面板
如何从卡片面板本身显示卡片面板(其布局不是 CardLayout,但包含在具有 CardLayout 的面板中)?我不想在容器中放置单独的导航栏,因为我需要访问卡片数据.
您可以使用面板的 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
}