Java Swing UI Thread Event invokeNowOrLater(Runnable run)

Here you can find the source of invokeNowOrLater(Runnable run)

Description

Invokes run immediately if this is the EDT; otherwise, the Runnable is invoked on the EDT using invokeLater .

License

Open Source License

Declaration

public static void invokeNowOrLater(Runnable run) 

Method Source Code

//package com.java2s;
/**//from  w  w  w.j  av a2  s  .c  o m
 *  Strategy Engine for Programming Intelligent Agents (SEPIA)
Copyright (C) 2012 Case Western Reserve University
    
This file is part of SEPIA.
    
SEPIA 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.
    
SEPIA 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 SEPIA.  If not, see <http://www.gnu.org/licenses/>.
 */

import javax.swing.SwingUtilities;

public class Main {
    /**
     * Invokes {@code run} immediately if this is the
     * EDT; otherwise, the {@code Runnable} is invoked
     * on the EDT using {@code invokeLater}.
     */
    public static void invokeNowOrLater(Runnable run) {
        if (SwingUtilities.isEventDispatchThread()) {
            run.run();
        } else {
            SwingUtilities.invokeLater(run);
        }
    }
}

Related

  1. invokeLater(Runnable runnable, boolean forceLater)
  2. invokeLaterEDT(final Runnable runnable)
  3. invokeLaterIfNeeded(Runnable runnable)
  4. invokeLaterOnEDT(Runnable runnable)
  5. invokeNow(Runnable runnable)
  6. invokeOnEDT(final Object target, final String methodName, final Object... args)
  7. invokeOnEDT(final Runnable aRunnable)
  8. invokeOnEventDispatchThread(Runnable r)
  9. invokeOnEventDispatchThreadIfRequired(final Runnable runnable)