CardLayouts:我怎么知道哪张卡可见?

Tom*_*sky 7 java swing

我一直在查看Swing CardLayout的文档,似乎没有任何方法可以确定哪个卡当前显示在课堂上.然而,必须有一种方法来询问布局当前显示哪张卡,对吧?

由于项目的限制,我不能简单地扩展它并将此功能添加到子类中,因此如果没有这样的功能,那就意味着我无法跟踪组件在组件外部的状态(哎呀!)或者是否有一些其他选项埋藏在Swing深处?

mre*_*mre 5

根据如何使用CardLayout教程,

从概念上讲,CardLayout管理的每个组件就像一个堆叠中的扑克牌或交易卡,其中只有顶部卡片随时可见.您可以选择以下列任何一种方式显示的卡片:

  • 通过要求第一张或最后一张卡,按顺序将其添加到容器中
  • 通过向后或向前翻转甲板
  • 通过指定具有特定名称的卡

尝试,

Component visibleComponent = foo.getComponent(0);
Run Code Online (Sandbox Code Playgroud)

使用fooJPanel实例在哪里CardLayout.

参考: