Java tutorial
//package com.java2s; //License from project: Open Source License import java.awt.Component; import java.awt.Container; import java.util.ArrayList; import java.util.List; import javax.swing.AbstractButton; import javax.swing.JComponent; import javax.swing.JRadioButton; public class Main { public static JRadioButton getRadioButton(Container owner, String text) { return (JRadioButton) getAbstractButton(owner, text); } private static AbstractButton getAbstractButton(Container owner, String text) { for (Component c : owner.getComponents()) { if (c instanceof AbstractButton && ((AbstractButton) c).getText() != null && ((AbstractButton) c).getText().equals(text)) return (AbstractButton) c; else if (c instanceof JComponent) { AbstractButton b = getAbstractButton((JComponent) c, text); if (b != null) return b; } } return null; } public static List<JComponent> getComponents(Container owner, Class<?> clazz) { return getComponents(owner, clazz, false); } public static List<JComponent> getComponents(Container owner, Class<?> clazz, boolean onlyVisible) { List<JComponent> list = new ArrayList<JComponent>(); for (Component c : owner.getComponents()) { if (clazz.isInstance(c) && (!onlyVisible || c.isShowing())) list.add((JComponent) c); else if (c instanceof JComponent) { for (JComponent b : getComponents((JComponent) c, clazz, onlyVisible)) list.add(b); } } return list; } }