Java Swing Menu Item getMenuItem(Container owner, String text)

Here you can find the source of getMenuItem(Container owner, String text)

Description

get Menu Item

License

Open Source License

Declaration

public static JMenuItem getMenuItem(Container owner, String text) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.awt.Component;
import java.awt.Container;

import java.util.ArrayList;

import java.util.List;
import javax.swing.AbstractButton;

import javax.swing.JComponent;

import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Main {
    public static JMenuItem getMenuItem(JMenuBar menu, String text) {
        for (int i = 0; i < menu.getMenuCount(); i++) {
            JMenuItem m = getMenuItem(menu.getMenu(i), text);
            if (m != null)
                return m;
        }/*from w  w w  . j  ava2  s .  co m*/
        return null;
    }

    private static JMenuItem getMenuItem(JMenu menu, String text) {
        for (Component c : menu.getMenuComponents()) {
            if (c instanceof JMenu) {
                JMenuItem m = getMenuItem((JMenu) c, text);
                if (m != null)
                    return m;
            } else if (c instanceof JMenuItem && ((JMenuItem) c).getText().equals(text)) {
                return (JMenuItem) c;
            }
        }
        return null;
    }

    public static JMenuItem getMenuItem(Container owner, String text) {
        return (JMenuItem) getAbstractButton(owner, text);
    }

    private static AbstractButton getAbstractButton(Container owner, String text) {
        for (Component c : owner.getComponents()) {
            if (c instanceof AbstractButton && ((AbstractButton) c).getText() != null
                    && ((AbstractButton) c).getText().equals(text))
                return (AbstractButton) c;
            else if (c instanceof JComponent) {
                AbstractButton b = getAbstractButton((JComponent) c, text);
                if (b != null)
                    return b;
            }
        }
        return null;
    }

    public static List<JComponent> getComponents(Container owner, Class<?> clazz) {
        return getComponents(owner, clazz, false);
    }

    public static List<JComponent> getComponents(Container owner, Class<?> clazz, boolean onlyVisible) {
        List<JComponent> list = new ArrayList<JComponent>();
        for (Component c : owner.getComponents()) {
            if (clazz.isInstance(c) && (!onlyVisible || c.isShowing()))
                list.add((JComponent) c);
            else if (c instanceof JComponent) {
                for (JComponent b : getComponents((JComponent) c, clazz, onlyVisible))
                    list.add(b);
            }
        }
        return list;
    }
}

Related

  1. createRadioButtonMenuItem(final String text, final boolean selected)
  2. faqMenuItem()
  3. findMenuItem(Container container, String[] path)
  4. getExitMenuItem()
  5. getMenuItem(Container container, Action action)
  6. getMenuItemBorder()
  7. getMenuItemDisabledForegroundObject()
  8. getMenuItemParent()
  9. getResetAppSettingsMenuItem()