Java Swing UI Thread Event invokeOnEventThread(Runnable r)

Here you can find the source of invokeOnEventThread(Runnable r)

Description

GUI operations should be performed only on the AWT event dispatching thread.

License

Open Source License

Declaration

public static void invokeOnEventThread(Runnable r) throws InterruptedException, InvocationTargetException 

Method Source Code

//package com.java2s;
/**/* ww w .j a va2s.c om*/
 * OrbisGIS is a GIS application dedicated to scientific spatial simulation.
 * This cross-platform GIS is developed at French IRSTV institute and is able to
 * manipulate and create vector and raster spatial information.
 *
 * OrbisGIS is distributed under GPL 3 license. It is produced by the "Atelier SIG"
 * team of the IRSTV Institute <http://www.irstv.fr/> CNRS FR 2488.
 *
 * Copyright (C) 2007-1012 IRSTV (FR CNRS 2488)
 *
 * This file is part of OrbisGIS.
 *
 * OrbisGIS 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.
 *
 * OrbisGIS 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
 * OrbisGIS. If not, see <http://www.gnu.org/licenses/>.
 *
 * For more information, please consult: <http://www.orbisgis.org/>
 * or contact directly:
 * info_at_ orbisgis.org
 */

import java.lang.reflect.InvocationTargetException;
import javax.swing.SwingUtilities;

public class Main {
    /**
     * GUI operations should be performed only on the AWT event dispatching
     * thread. Blocks until the Runnable is finished.
     */
    public static void invokeOnEventThread(Runnable r) throws InterruptedException, InvocationTargetException {
        if (SwingUtilities.isEventDispatchThread()) {
            r.run();
        } else {
            SwingUtilities.invokeAndWait(r);
        }
    }
}

Related

  1. invokeOnEDT(final Object target, final String methodName, final Object... args)
  2. invokeOnEDT(final Runnable aRunnable)
  3. invokeOnEventDispatchThread(Runnable r)
  4. invokeOnEventDispatchThreadIfRequired(final Runnable runnable)
  5. invokeOnEventThread(Runnable r)
  6. invokeOnEventThread(Runnable runnable)
  7. isEDT()
  8. isEDT()
  9. isEDT()