Java tutorial
//package com.java2s; /* * Copyright 2007-2013 Ben Galbraith. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import javax.swing.JComponent; import java.awt.Component; import java.awt.Container; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; public class Main { public static JComponent getComponentByName(Container parent, String name) { Collection components = getAllJComponents(parent); for (Iterator iterator = components.iterator(); iterator.hasNext();) { JComponent component = (JComponent) iterator.next(); if (name.equals(component.getName())) return component; } return null; } public static List<JComponent> getAllJComponents(Container container) { List<JComponent> components = new ArrayList<JComponent>(); getAllJComponents(container, components); return components; } private static void getAllJComponents(Container container, Collection<JComponent> collection) { if (container instanceof JComponent) { JComponent c = (JComponent) container; collection.add(c); } Component[] children = container.getComponents(); if (children != null) { for (int i = 0; i < children.length; i++) { Component c = children[i]; if (c instanceof Container) { getAllJComponents((Container) c, collection); } } } } }