<分区>
我注册到一个 cardPanel 对象 3 JPanel。
JPanel cardPanel = new JPanel(new CardLayout());
cardPanel.add(viewPerf, "Performances");
cardPanel.add(viewFaults, "Faults");
cardPanel.add(viewGraph, "Throughput Graph");
我会得到一个 JPanel。我该如何做这个操作?
<分区>
我注册到一个 cardPanel 对象 3 JPanel。
JPanel cardPanel = new JPanel(new CardLayout());
cardPanel.add(viewPerf, "Performances");
cardPanel.add(viewFaults, "Faults");
cardPanel.add(viewGraph, "Throughput Graph");
我会得到一个 JPanel。我该如何做这个操作?
最佳答案
要在 CardLayout
中显示特定组件,请使用 CardLayout#show(String)
方法,并传递您在添加组件时为其指定的名称:
((CardLayout)cardPanel.getLayout()).show("Throughput Graph");
或者,您可以在创建布局时保存它:
CardLayout cardPanelLayout = new CardLayout();
cardPanel.setLayout(cardPanelLayout);
...
cardPanelLayout.show("Throughput Graph");
编辑:要获得对当前可见组件的引用,我相信你可以这样做:
Component visibleComp = null;
for (Component comp : cardPanel.getComponents()) {
if (comp.isVisible()) {
visibleComp = comp;
break;
}
}
关于java - 通过设置 CardLayout 获取注册到 JPanel 的确切 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451277/