Here you can find the source of getComponentByName(boolean enableDeepSearch, JComponent rootComponent, String name)
public static JComponent getComponentByName(boolean enableDeepSearch, JComponent rootComponent, String name)
//package com.java2s; /*/*from w w w . j a va2 s . c o m*/ Copyright (c) 2011,2012,2013,2014 Rohit Jhunjhunwala The program is distributed under the terms of the GNU General Public License This file is part of NSE EOD Data Downloader. NSE EOD Data Downloader is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. NSE EOD Data Downloader is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with NSE EOD Data Downloader. If not, see <http://www.gnu.org/licenses/>. */ import javax.swing.*; public class Main { public static JComponent getComponentByName(boolean enableDeepSearch, JComponent rootComponent, String name) { for (int i = 0; i < rootComponent.getComponentCount(); i++) { if (handleNull(rootComponent.getComponent(i).getName()).equalsIgnoreCase(name)) return (JComponent) rootComponent.getComponent(i); else { if (getComponentByName(enableDeepSearch, (JComponent) rootComponent.getComponent(i), name) == null) continue; else return getComponentByName(enableDeepSearch, (JComponent) rootComponent.getComponent(i), name); } } return null; } public static String handleNull(Object val) { if (val == null) return ""; return val.toString(); } }