如何在Java Swing中获取面板的所有组件?

时间:2013-03-31 08:15:04

标签: java arrays swing jpanel jcomponent

如何在Java Swing中获取面板的所有组件?

在C#中是否有像foreach这样的方法来处理JPanel的所有子组件?

2 个答案:

答案 0 :(得分:15)

您可以使用方法getComponents

Component[] components = jpanel.getComponents();

答案 1 :(得分:0)

如果您有多个JPanel,并且想要获取所有组件的名称,请尝试以下操作:

public void getAllComponetsNameInJPanels(JPanel... panels) {
    Component[] components;
    String componentName;
    for (JPanel panel : panels) {
        components = panel.getComponents();            
        for (Component compo : components) {
            componentName = compo.getClass().getName();
            System.out.println(compo.getClass().getName().substring(componentName.indexOf("swing.") + "swing.".length(), componentName.length()));
        }
        System.out.println("=====================");
    }
}