Java JFrame doDisableActiveRenderingInEDT(final JFrame jFrame)

Here you can find the source of doDisableActiveRenderingInEDT(final JFrame jFrame)

Description

do Disable Active Rendering In EDT

License

Open Source License

Declaration

private static void doDisableActiveRenderingInEDT(final JFrame jFrame) 

Method Source Code

//package com.java2s;
/**//from   w  ww .  j a v  a 2  s  . c o m
 * Copyright 2009 - 2014 J?rgen Lundgren
 * 
 * This file is part of org.macroing.wicked.
 * 
 * org.macroing.wicked 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.
 * 
 * org.macroing.wicked 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.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with org.macroing.wicked. If not, see <http://www.gnu.org/licenses/>.
 */

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

import javax.swing.JFrame;

import javax.swing.SwingUtilities;

public class Main {
    private static void doDisableActiveRenderingInEDT(final JFrame jFrame) {
        jFrame.getRootPane().setOpaque(true);
        jFrame.setFocusTraversalKeysEnabled(true);
        jFrame.setIgnoreRepaint(false);

        doSetIgnoreRepaint(jFrame, false);
    }

    public static void setIgnoreRepaint(final Component component, final boolean ignoreRepaint) {
        doSetIgnoreRepaint(component, ignoreRepaint);
    }

    private static void doSetIgnoreRepaint(final Component component, final boolean ignoreRepaint) {
        if (component != null) {
            if (SwingUtilities.isEventDispatchThread()) {
                doSetIgnoreRepaintInEDT(component, ignoreRepaint);
            } else {
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        doSetIgnoreRepaintInEDT(component, ignoreRepaint);
                    }
                });
            }
        }
    }

    private static void doSetIgnoreRepaintInEDT(final Component component, final boolean ignoreRepaint) {
        component.setIgnoreRepaint(ignoreRepaint);

        if (component instanceof Container) {
            Container container = Container.class.cast(component);

            Component[] components = null;

            synchronized (container.getTreeLock()) {
                components = container.getComponents();
            }

            for (int i = 0; i < components.length; i++) {
                doSetIgnoreRepaintInEDT(components[i], ignoreRepaint);
            }
        }
    }
}

Related

  1. display(JFrame parent, JInternalFrame dialog)
  2. displayConfirmationMessage(JFrame parent, String message, String title)
  3. displayError(Exception e, JFrame jFrame)
  4. displayWindow(final JFrame window)
  5. dispose(final JFrame frame)
  6. drawHelpPanel(String helpToDisplay, final JFrame frame)
  7. enable(final JFrame frame)
  8. enterFullScreenIfPossible(JFrame mainAppFrame)
  9. error(JFrame frame, String msg)