From a5a6db072f8fa2a577812202e5de4d2aae5515a1 Mon Sep 17 00:00:00 2001 From: nathan Date: Tue, 4 Oct 2016 23:25:57 +0200 Subject: [PATCH] Added invokeAndWaitQuietly which swallows exceptions --- Dorkbox-Util/src/dorkbox/util/SwingUtil.java | 40 +++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/Dorkbox-Util/src/dorkbox/util/SwingUtil.java b/Dorkbox-Util/src/dorkbox/util/SwingUtil.java index 1e44c4c..bc36491 100644 --- a/Dorkbox-Util/src/dorkbox/util/SwingUtil.java +++ b/Dorkbox-Util/src/dorkbox/util/SwingUtil.java @@ -15,10 +15,21 @@ */ package dorkbox.util; -import javax.swing.JOptionPane; -import javax.swing.SwingUtilities; -import javax.swing.UIManager; -import java.awt.*; +import java.awt.Component; +import java.awt.Container; +import java.awt.Desktop; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.Font; +import java.awt.FontFormatException; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.Image; +import java.awt.MouseInfo; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Toolkit; +import java.awt.Window; import java.awt.event.HierarchyEvent; import java.awt.event.HierarchyListener; import java.awt.event.WindowListener; @@ -31,6 +42,10 @@ import java.net.URISyntaxException; import java.net.URL; import java.util.Enumeration; +import javax.swing.JOptionPane; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; + public class SwingUtil { /** All of the fonts in the {@link #FONTS_LOCATION} will be loaded by the Font manager */ @@ -278,17 +293,24 @@ class SwingUtil { } public static - void invokeAndWait(final Runnable runnable) { + void invokeAndWait(final Runnable runnable) throws InvocationTargetException, InterruptedException { + if (EventQueue.isDispatchThread()) { + runnable.run(); + } + else { + EventQueue.invokeAndWait(runnable); + } + } + + public static + void invokeAndWaitQuietly(final Runnable runnable) { if (EventQueue.isDispatchThread()) { runnable.run(); } else { try { EventQueue.invokeAndWait(runnable); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } catch (InterruptedException e) { - e.printStackTrace(); + } catch (Exception ignore) { } } }