Java JTree Color setComponentTreeBackground(Component c, Color color)

Here you can find the source of setComponentTreeBackground(Component c, Color color)

Description

Sets the background for an entire component hierarchy to the specified color.

License

Open Source License

Parameter

Parameter Description
c the starting component
color the color to set

Declaration

public static void setComponentTreeBackground(Component c, Color color) 

Method Source Code

//package com.java2s;
/*//from   w ww .  j av  a 2s .  c o m
 * #%L
 * The AIBench Plugin Manager Plugin
 * %%
 * Copyright (C) 2006 - 2016 Daniel Glez-Pe?a and Florentino Fdez-Riverola
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 * 
 * This program 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 Lesser Public License for more details.
 * 
 * You should have received a copy of the GNU General Lesser Public
 * License along with this program.  If not, see
 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
 * #L%
 */

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

import javax.swing.MenuElement;

public class Main {
    /**
     * Sets the background for an entire component hierarchy to the specified
     * color.
     * 
     * @param c
     *                the starting component
     * @param color
     *                the color to set
     */
    public static void setComponentTreeBackground(Component c, Color color) {
        c.setBackground(color);

        Component[] children = getChildren(c);

        if (children != null) {
            for (int i = 0; i < children.length; i++) {
                setComponentTreeBackground(children[i], color);
            }
        }
    }

    private static Component[] getChildren(Component c) {
        Component[] children = null;

        if (c instanceof MenuElement) {
            MenuElement[] elements = ((MenuElement) c).getSubElements();
            children = new Component[elements.length];

            for (int i = 0; i < elements.length; i++) {
                children[i] = elements[i].getComponent();
            }
        } else if (c instanceof Container) {
            children = ((Container) c).getComponents();
        }

        return children;
    }
}

Related

  1. getTreeBackground()
  2. updateAllComponentTreeUIs()
  3. updateComponentTreeUI(Component c)
  4. updateComponentTreeUI(JComponent c)
  5. updateComponentTreeUI(Window window)