swingutilities.java
来自「java concurrency in practice 源码. JAVA」· Java 代码 · 共 43 行
JAVA
43 行
package net.jcip.examples;import java.lang.reflect.InvocationTargetException;import java.util.concurrent.*;/** * SwingUtilities * <p/> * Implementing SwingUtilities using an Executor * * @author Brian Goetz and Tim Peierls */public class SwingUtilities { private static final ExecutorService exec = Executors.newSingleThreadExecutor(new SwingThreadFactory()); private static volatile Thread swingThread; private static class SwingThreadFactory implements ThreadFactory { public Thread newThread(Runnable r) { swingThread = new Thread(r); return swingThread; } } public static boolean isEventDispatchThread() { return Thread.currentThread() == swingThread; } public static void invokeLater(Runnable task) { exec.execute(task); } public static void invokeAndWait(Runnable task) throws InterruptedException, InvocationTargetException { Future f = exec.submit(task); try { f.get(); } catch (ExecutionException e) { throw new InvocationTargetException(e); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?