Java tutorial
//package com.java2s; /* * ThreadUtils.java * * Copyright (C) 2002-2013 Takis Diakoumis * * 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 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 javax.swing.*; import java.lang.reflect.InvocationTargetException; public class Main { /** * Runs the specified runnable in the EDT using * <code>SwingUtilities.invokeAndWait(...)</code>. * Note: This method 'supresses' the method's thrown exceptions * - InvocationTargetException and InterruptedException. * * @param runnable - the runnable to be executed */ public static void invokeAndWait(Runnable runnable) { if (!SwingUtilities.isEventDispatchThread()) { try { //System.err.println("Not EDT"); SwingUtilities.invokeAndWait(runnable); } catch (InterruptedException e) { // nothing to do here } catch (InvocationTargetException e) { // nothing to do here } } else { runnable.run(); } } }