Here you can find the source of findMenuComponent( JMenuBar menuBar, String menuName, String menuComponentName, Class
public static <T extends Component> T findMenuComponent( JMenuBar menuBar, String menuName, String menuComponentName, Class<T> componentClass)
//package com.java2s; /*//from w ww . j av a 2 s.c o m This file is part of RouteConverter. RouteConverter 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 2 of the License, or (at your option) any later version. RouteConverter 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 RouteConverter; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Copyright (C) 2007 Christian Pesch. All Rights Reserved. */ import javax.swing.*; import java.awt.*; public class Main { public static Component findMenuComponent(JPopupMenu menu, String menuComponentName) { for (int i = 0; i < menu.getComponentCount(); i++) { Component component = menu.getComponent(i); if (menuComponentName.equals(component.getName())) return component; } return null; } public static <T extends Component> T findMenuComponent(JMenu menu, String menuComponentName, Class<T> componentClass) { for (int i = 0; i < menu.getMenuComponentCount(); i++) { Component component = menu.getMenuComponent(i); if (menuComponentName.equals(component.getName()) && componentClass.isInstance(component)) return componentClass.cast(component); } return null; } public static <T extends Component> T findMenuComponent( JMenuBar menuBar, String menuName, String menuComponentName, Class<T> componentClass) { JMenu menu = findMenu(menuBar, menuName); if (menu != null) { return findMenuComponent(menu, menuComponentName, componentClass); } return null; } public static JMenu findMenu(JMenuBar menuBar, String menuName) { for (int i = 0; i < menuBar.getMenuCount(); i++) { JMenu menu = menuBar.getMenu(i); if (menuName.equals(menu.getName())) return menu; } return null; } public static JMenu findMenu(JMenuBar menuBar, String menuName, String subMenuName) { return findMenuComponent(menuBar, menuName, subMenuName, JMenu.class); } }