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

2022-09-04 19:40:01

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

有没有像C#那样的方法来处理JPanel的所有子组件?foreach


答案 1

您可以使用 getComponents 方法

Component[] components = jpanel.getComponents();

答案 2

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

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("=====================");
    }
}