23 package com.realtime.crossfire.jxclient.util;
25 import java.awt.GraphicsEnvironment;
26 import java.lang.reflect.InvocationTargetException;
27 import javax.swing.SwingUtilities;
28 import org.jetbrains.annotations.NotNull;
48 if (Thread.currentThread().isInterrupted()) {
51 if (GraphicsEnvironment.isHeadless()) {
55 if (SwingUtilities.isEventDispatchThread()) {
59 SwingUtilities.invokeAndWait(runnable);
60 }
catch (
final InterruptedException ignored) {
61 Thread.currentThread().interrupt();
62 }
catch (
final InvocationTargetException ex) {
63 throw new AssertionError(ex);
73 public static void invokeLater(@NotNull
final Runnable runnable) {
74 if (SwingUtilities.isEventDispatchThread()) {
77 SwingUtilities.invokeLater(runnable);