Here you can find the source of executeRunnable(Runnable runnable)
public static void executeRunnable(Runnable runnable)
//package com.java2s; /**//from ww w . j av a2s. c o m *** "Feel Sketch" authoring tool. *** Copyright (C) 2009, Shunji Yamaura *** Copyright (C) 2009, Noritsuna Imamura (noritsuna@siprop.org) *** *** This program 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. *** *** 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 Public License for more details. *** *** You should have received a copy of the GNU General Public License *** along with this program. If not, see <http://www.gnu.org/licenses/>. */ import java.lang.reflect.InvocationTargetException; import javax.swing.SwingUtilities; public class Main { public static void executeRunnable(Runnable runnable) { executeRunnable(runnable, true); } public static void executeRunnable(Runnable runnable, boolean waits) { if (SwingUtilities.isEventDispatchThread()) { runnable.run(); } else { try { if (waits) { SwingUtilities.invokeAndWait(runnable); } else { SwingUtilities.invokeLater(runnable); } } catch (InterruptedException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } } }