Java 怎么获取属于或派生自给定类的所有子组件

2019年8月18日21:59:26Java 怎么获取属于或派生自给定类的所有子组件已关闭评论 142 623字阅读2分4秒

1.简介

Java 怎么获取属于或派生自给定类的所有子组件?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */


import java.awt.Component;
import java.awt.Container;

import java.util.ArrayList;
import java.util.List;
import javax.swing.JComponent;

public class Main {
    
    public static <T extends JComponent> List<T> getChildComponents(
            Class<T> clazz, Container parent, boolean includeNested) {

        List<T> children = new ArrayList<T>();

        for (Component c : parent.getComponents()) {
            boolean isClazz = clazz.isAssignableFrom(c.getClass());
            if (isClazz) {
                children.add(clazz.cast(c));
            }
            if (includeNested && c instanceof Container) {
                children.addAll(getChildComponents(clazz, (Container) c,
                        includeNested));
            }
        }

        return children;
    }
}

 
编程十万个怎么办