⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newthreadinterceptionhandlerdecorator.java

📁 基于Junit的 功能和单元测试的的测试工具。只支持Swing.
💻 JAVA
字号:
package org.uispec4j.interception.handlers;

import org.uispec4j.Window;
import org.uispec4j.utils.ExceptionContainer;

public class NewThreadInterceptionHandlerDecorator extends AbstractInterceptionHandlerDecorator {

  private ExceptionContainer exceptionContainer = new ExceptionContainer();
  private Thread handlerThread;

  public NewThreadInterceptionHandlerDecorator(InterceptionHandler innerHandler) {
    super(innerHandler);
  }

  public void process(final Window window) {
    handlerThread = new Thread() {
      public void run() {
        try {
          NewThreadInterceptionHandlerDecorator.super.process(window);
        }
        catch (Throwable e) {
          exceptionContainer.set(e);
        }
      }
    };
    handlerThread.setName(handlerThread.getName() + " [NewThreadHandler]");
    handlerThread.start();
  }

  public void complete() {
    join();
    exceptionContainer.rethrowIfNeeded();
  }

  public void join() {
    if (handlerThread != null) {
      try {
        handlerThread.join();
        handlerThread = null;
      }
      catch (InterruptedException e) {
        throw new RuntimeException(e);
      }
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -