编程语言
首页 > 编程语言> > java – 卡布局获取当前卡片串

java – 卡布局获取当前卡片串

作者:互联网

参见英文答案 > CardLayout get the selected card’s name                                    2个
我在应用程序中使用cardlayout并希望获取当前活动卡的名称
我尝试了很多方法但没有意思,例如这种方法似乎不再存在

panel.getLayout().getActiveItem()

我也试过这个,但它也不行

 Panel card = null;
      for (Component comp : cardPanel.getComponents()) {
           if (comp.isVisible()) {
                System.out.println(card.getName());

                    }
                 }

例如:以下stamts将多个面板添加到卡片布局中,我想返回1,2,3,4或5个当前活动的卡片:

    cardPanel.add(firstP, "1");
    cardPanel.add(secondP, "2");
    cardPanel.add(thirdP, "3");
    cardPanel.add(fourthP, "4");
    cardPanel.add(fifthP, "5");

可能的方法是什么?

解决方法:

CardLayout不公开它自己的组件及其键之间的映射(这里是1,2,3,4 ……),因此使用布局本身不会揭示“卡片”是如何被散列的.

如果您希望使用getName方法,请记住您必须先自己设置,因为默认情况下未设置该字段:

firstPanel.setName("1");
cardPanel.add(firstPanel, firstPanel.getName());

然后,使用你的for循环,你将能够获得当前的卡片串.

标签:cardlayout,java,indexing,swing,layout-manager
来源: https://codeday.me/bug/20190901/1783013.html