Recursively search the contents of the container to find a MenuItem or Button that uses this action. - Java Swing

Java examples for Swing:JMenu

Description

Recursively search the contents of the container to find a MenuItem or Button that uses this action.

Demo Code

/*******************************************************************************
 * Copyright (c) 2012 Firestar Software, Inc.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors://  www  . ja  va 2  s .c  o  m
 *     Firestar Software, Inc. - initial API and implementation
 *
 * Author:
 *     Sally Conway
 *
 *******************************************************************************/
//package com.java2s;
import java.awt.Component;
import java.awt.Container;
import javax.swing.AbstractButton;
import javax.swing.Action;

public class Main {
    /** Recursively search the contents of the container to find a MenuItem or Button
     * that uses this action.
     * @param container
     * @param action
     * @return
     */
    public static AbstractButton getMenuItem(Container container,
            Action action) {
        for (int i = 0; i < container.getComponentCount(); i++) {
            Component item = container.getComponent(i);
            if (item instanceof AbstractButton
                    && ((AbstractButton) item).getAction().equals(action)) {
                return (AbstractButton) item;
            } else if (item instanceof Container) {
                return getMenuItem((Container) item, action);
            }
        }
        return null;
    }
}

Related Tutorials