Here you can find the source of findItem(JMenuBar menuBar, String menuName, String menuItemName)
public static JMenuItem findItem(JMenuBar menuBar, String menuName, String menuItemName)
//package com.java2s; /*//from w w w . j ava 2 s . com 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 JMenuItem findItem(JMenuBar menuBar, String menuName, String menuItemName) { Component component = findMenuComponent(menuBar, menuName, menuItemName); return component instanceof JMenuItem ? (JMenuItem) component : null; } 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 Component findMenuComponent(JMenu menu, String menuComponentName) { for (int i = 0; i < menu.getMenuComponentCount(); i++) { Component component = menu.getMenuComponent(i); if (menuComponentName.equals(component.getName())) return component; } return null; } public static Component findMenuComponent(JMenuBar menuBar, String menuName, String menuComponentName) { JMenu menu = findMenu(menuBar, menuName); if (menu != null) { return findMenuComponent(menu, menuComponentName); } 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) { Component component = findMenuComponent(menuBar, menuName, subMenuName); return component instanceof JMenu ? (JMenu) component : null; } }