java.awt.event

接口
java.lang.Object
  继承者 java.util.EventObject
      继承者 java.awt.AWTEvent
          继承者 java.awt.event.InvocationEvent
所有已实现的接口:
ActiveEvent, Serializable

public class InvocationEvent
     
extends AWTEvent
implements ActiveEvent

当通过 AWT 事件调度线程进行调度时,在 Runnable 上执行 run() 方法的事件。此类可以用作 ActiveEvent 的参考实现,而不用于声明新类和定义 dispatch()

通过调用 invokeLaterinvokeAndWait,可以将此类的实例置于 EventQueue 上。客户端代码可以使用这一事实来编写 invokeLaterinvokeAndWait 的替代函数,无需在任何 AWTEventListener 对象中编写特殊代码。

从以下版本开始:
1.2
另请参见:
ActiveEvent, EventQueue.invokeLater(java.lang.Runnable), EventQueue.invokeAndWait(java.lang.Runnable), AWTEventListener, 序列化表格

字段摘要
protected  boolean catchExceptions
          如果 dispatch() 捕获了 Throwable 并将其存储在异常实例变量中,则设置为 true。
static int INVOCATION_DEFAULT
          所有 InvocationEvent 的默认 id。
static int INVOCATION_FIRST
          标记调用事件 id 范围内的第一个整数 id。
static int INVOCATION_LAST
          标记调用事件 id 范围内的最后一个整数 id。
protected  Object notifier
          在 Runnable.run() 方法返回之后立即调用其 notifyAll() 方法的对象(可能为 null)。
protected  Runnable runnable
          调用其 run() 方法的 Runnable。
 
从类 java.awt.AWTEvent 继承的字段
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
 
从类 java.util.EventObject 继承的字段
source
 
构造方法摘要
protected InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
          构造一个具有指定源和 ID 的 InvocationEvent,此源和 ID 将在被指派时执行 runnable 的 run 方法。
  InvocationEvent(Object source, Runnable runnable)
          构造一个具有指定源的 InvocationEvent,此源将在被指派时执行 runnable 的 run 方法。
  InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchThrowables)
          构造一个具有指定源的 InvocationEvent,此源将在被指派时执行 runnable 的 run 方法。
 
方法摘要
 void dispatch()
          执行 Runnable 的 run() 方法并在 run() 返回时通知 notifier(如果有)。
 Exception getException()
          返回在执行 Runnable 的 run() 方法时捕获的任何 Exception。
 Throwable getThrowable()
          返回在执行 Runnable 的 run() 方法时捕获的任何 Throwable。
 long getWhen()
          返回此事件发生时的时间戳。
 String paramString()
          返回标识此事件的参数字符串。
 
从类 java.awt.AWTEvent 继承的方法
consume, getID, isConsumed, setSource, toString
 
从类 java.util.EventObject 继承的方法
getSource
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

INVOCATION_FIRST

public static final int INVOCATION_FIRST
标记调用事件 id 范围内的第一个整数 id。

另请参见:
常量字段值

INVOCATION_DEFAULT

public static final int INVOCATION_DEFAULT
所有 InvocationEvent 的默认 id。

另请参见:
常量字段值

INVOCATION_LAST

public static final int INVOCATION_LAST
标记调用事件 id 范围内的最后一个整数 id。

另请参见:
常量字段值

runnable

protected Runnable runnable
调用其 run() 方法的 Runnable。


notifier

protected Object notifier
在 Runnable.run() 方法返回之后立即调用其 notifyAll() 方法的对象(可能为 null)。


catchExceptions

protected boolean catchExceptions
如果 dispatch() 捕获了 Throwable 并将其存储在异常实例变量中,则设置为 true。如果设置为 false,则会将 Throwable 传播到 EventDispatchThread 的调度循环中。

构造方法详细信息

InvocationEvent

public InvocationEvent(Object source,
                       Runnable runnable)
构造一个具有指定源的 InvocationEvent,此源将在被指派时执行 runnable 的 run 方法。

这是一个很有用的构造方法。对于 InvocationEvent(source, runnable) 形式的调用而言,其行为与调用 InvocationEvent(source, runnable, null, false) 完全相同。

如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生事件的 Object
runnable - 执行其 run 方法的 Runnable
抛出:
IllegalArgumentException - 如果 source 为 null
另请参见:
InvocationEvent(Object, Runnable, Object, boolean)

InvocationEvent

public InvocationEvent(Object source,
                       Runnable runnable,
                       Object notifier,
                       boolean catchThrowables)
构造一个具有指定源的 InvocationEvent,此源将在被指派时执行 runnable 的 run 方法。如果 notifier 为非 null,则会在 run 返回之后立即对它调用 notifyAll()

对于 InvocationEvent(source, runnable, notifier, catchThrowables) 形式的调用而言,其行为与调用 InvocationEvent(source, InvocationEvent.INVOCATION_DEFAULT, runnable, notifier, catchThrowables) 完全相同。

如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生事件的 Object
runnable - 执行其 run 方法的 Runnable
notifier - 在 Runnable.run 返回之后调用其 notifyAll 方法的对象
catchThrowables - 指定 dispatch 是否应该在执行 Runnablerun 方法时捕获 Throwable,或者应该将那些 Throwable 传播到 EventDispatchThread 的调度循环中
抛出:
IllegalArgumentException - 如果 source 为 null
另请参见:
InvocationEvent(Object, int, Runnable, Object, boolean)

InvocationEvent

protected InvocationEvent(Object source,
                          int id,
                          Runnable runnable,
                          Object notifier,
                          boolean catchThrowables)
构造一个具有指定源和 ID 的 InvocationEvent,此源和 ID 将在被指派时执行 runnable 的 run 方法。如果 notifier 为非 null,则将在 run 返回之后立即对它调用 notifyAll

注意,传递无效 id 会导致不确定的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生事件的 Object
id - 事件的 ID
runnable - 执行其 run 方法的 Runnable
notifier - 在 Runnable.run 返回之后调用其 notifyAll 方法的 Object
catchThrowables - 指定 dispatch 是否应该在执行 Runnablerun 方法时捕获 Throwable,或者应该将那些 Throwable 传播到 EventDispatchThread 的调度循环中
抛出:
IllegalArgumentException - 如果 source 为 null
方法详细信息

dispatch

public void dispatch()
执行 Runnable 的 run() 方法并在 run() 返回时通知 notifier(如果有)。

指定者:
接口 ActiveEvent 中的 dispatch

getException

public Exception getException()
返回在执行 Runnable 的 run() 方法时捕获的任何 Exception。

返回:
如果抛出 Exception,则返回对 Exception 的引用;如果没有抛出 Exception 或者此 InvocationEvent 没有捕获异常,则返回 null

getThrowable

public Throwable getThrowable()
返回在执行 Runnable 的 run() 方法时捕获的任何 Throwable。

返回:
如果抛出 Throwable,则返回对 Throwable 的引用;如果没有抛出 Throwable 或者此 InvocationEvent 没有捕获 Throwable,则返回 null
从以下版本开始:
1.5

getWhen

public long getWhen()
返回此事件发生时的时间戳。

返回:
此事件的时间戳
从以下版本开始:
1.4

paramString

public String paramString()
返回标识此事件的参数字符串。此方法对事件日志记录和调试很有用。

覆盖:
AWTEvent 中的 paramString
返回:
标识事件及其属性的字符串