Java Component setDoubleBufferedRecursively(final Component component, final boolean doubleBuffered)

Here you can find the source of setDoubleBufferedRecursively(final Component component, final boolean doubleBuffered)

Description

Sets double buffered state of component and all of its children.

License

Open Source License

Parameter

Parameter Description
component component to modify
doubleBuffered whether use double buffering or not

Declaration

public static void setDoubleBufferedRecursively(final Component component, final boolean doubleBuffered) 

Method Source Code


//package com.java2s;
/*/*  ww  w .  j  a  v  a  2s. c  o  m*/
 * This file is part of WebLookAndFeel library.
 *
 * WebLookAndFeel library 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 3 of the License, or
 * (at your option) any later version.
 *
 * WebLookAndFeel library 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 WebLookAndFeel library.  If not, see <http://www.gnu.org/licenses/>.
 */

import javax.swing.*;

import java.awt.*;

public class Main {
    /**
     * Sets double buffered state of component and all of its children.
     *
     * @param component      component to modify
     * @param doubleBuffered whether use double buffering or not
     */
    public static void setDoubleBufferedRecursively(final Component component, final boolean doubleBuffered) {
        setDoubleBufferedRecursively(component, doubleBuffered, false);
    }

    /**
     * Sets double buffered state of component and all of its children.
     *
     * @param component      component to modify
     * @param doubleBuffered whether use double buffering or not
     * @param childsOnly     whether exclude component from changes or not
     */
    public static void setDoubleBufferedRecursively(final Component component, final boolean doubleBuffered,
            final boolean childsOnly) {
        if (component instanceof JComponent) {
            final JComponent jComponent = (JComponent) component;
            if (!childsOnly) {
                jComponent.setDoubleBuffered(doubleBuffered);
            }
        }
        if (component instanceof Container) {
            for (final Component child : ((Container) component).getComponents()) {
                setDoubleBufferedRecursively(child, doubleBuffered, false);
            }
        }
    }
}

Related

  1. setDoubleBuffered(boolean doubleBuffer, Component component)
  2. setNotBuffered(Component c)