Java Swing Menu getAllMenuSubElements( MenuElement root)

Here you can find the source of getAllMenuSubElements( MenuElement root)

Description

Returns all sub menu elements of the specified menu element.

License

Open Source License

Parameter

Parameter Description
root a menu element, i.e., JMenu object

Return

all sub menu elements of the specified menu element

Declaration

public static Collection<MenuElement> getAllMenuSubElements(
        MenuElement root) 

Method Source Code

//package com.java2s;
/* //from   w  ww  . java 2  s  .co m
 * VSwingUtil.java
 * 
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 2009?2012 Steinbeis Forschungszentrum (STZ ?lbronn),
 * Copyright (c) 2006?2012 by Michael Hoffer
 * 
 * This file is part of Visual Reflection Library (VRL).
 *
 * VRL is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * as published by the Free Software Foundation.
 * 
 * see: http://opensource.org/licenses/LGPL-3.0
 *      file://path/to/VRL/src/eu/mihosoft/vrl/resources/license/lgplv3.txt
 *
 * VRL 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 Lesser General Public License for more details.
 *
 * This version of VRL includes copyright notice and attribution requirements.
 * According to the LGPL this information must be displayed even if you modify
 * the source code of VRL. Neither the VRL Canvas attribution icon nor any
 * copyright statement/attribution may be removed.
 *
 * Attribution Requirements:
 *
 * If you create derived work you must do three things regarding copyright
 * notice and author attribution.
 *
 * First, the following text must be displayed on the Canvas:
 * "based on VRL source code". In this case the VRL canvas icon must be removed.
 * 
 * Second, the copyright notice must remain. It must be reproduced in any
 * program that uses VRL.
 *
 * Third, add an additional notice, stating that you modified VRL. In addition
 * you must cite the publications listed below. A suitable notice might read
 * "VRL source code modified by YourName 2012".
 * 
 * Note, that these requirements are in full accordance with the LGPL v3
 * (see 7. Additional Terms, b).
 *
 * Publications:
 *
 * M. Hoffer, C.Poliwoda, G.Wittum. Visual Reflection Library -
 * A Framework for Declarative GUI Programming on the Java Platform.
 * Computing and Visualization in Science, 2011, in press.
 */

import java.util.ArrayList;

import java.util.Collection;

import javax.swing.*;

public class Main {
    /**
     * Returns all sub menu elements of the specified menu element.
     *
     * @param root a menu element, i.e., JMenu object
     * @return all sub menu elements of the specified menu element
     */
    public static Collection<MenuElement> getAllMenuSubElements(
            MenuElement root) {
        Collection<MenuElement> result = new ArrayList<MenuElement>();

        for (MenuElement e : root.getSubElements()) {
            result.add(e);
            result.addAll(getAllMenuSubElements(e));
        }

        return result;
    }
}

Related

  1. createMenuKeyMask(final int aKeyStroke, final int... aMasks)
  2. enableMenu(JTextComponent text)
  3. findMenuBar(Container container)
  4. findMenuElement(final MenuElement root, final String text)
  5. fixIconTextGap(JComponent menu)
  6. getMenuFontHeight()
  7. getMenuKeyStroke(String stroke)
  8. getMenuSectionLabel(String string)
  9. getOperationMenu(MenuElement currentMenu, String path)