Java JMenuBar findMenuComponent( JMenuBar menuBar, String menuName, String menuComponentName, Class componentClass)

Here you can find the source of findMenuComponent( JMenuBar menuBar, String menuName, String menuComponentName, Class componentClass)

Description

find Menu Component

License

Open Source License

Declaration

public static <T extends Component> T findMenuComponent(
            JMenuBar menuBar, String menuName, String menuComponentName,
            Class<T> componentClass) 

Method Source Code

//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);
    }
}

Related

  1. findItem(JMenuBar menuBar, String menuName, String menuItemName)
  2. findMenu(JMenuBar bar, Class type)
  3. findMenu(JMenuBar menuBar, String menuName)
  4. findMenu(JMenuBar menuBar, String menuName, String subMenuName)
  5. findMenu(JMenuBar menuBar, String name, boolean deepSearch)
  6. findMenuPosition(JMenuBar menuBar, String name)
  7. getJMenu(JMenuBar menubar, String menuName)
  8. getJMenuByName(JMenuBar bar, String name)
  9. getMenu(JMenuBar loMenuBar, String psComando)