我想知道事件发源线程上的一些调用,这些调用是从哪里发起的。我有一个新类,可以扩展并连接到EventQueue中。

这使我可以覆盖dispatchEvent()例程并使用AWTEvent对象。

protected void dispatchEvent(AWTEvent event)
{
    try
    {
        preDispatchEvent();
        super.dispatchEvent(event);
    }
    finally
    {
        postDispatchEvent();
    }
}


使用AWTEvent.paramString()例程,它打印以下内容,但不是很有帮助:

    java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=sun.awt.GlobalCursorManager$NativeUpdater@1c926eac,notifier=null,catchExceptions=false,when=1563800245516] on sun.awt.windows.WToolkit@4020b9cf


基于AWTEvent对象,是否可以找到将事件放置在EDT上的调用?

最佳答案

AWTEvent方法getSource()将告诉您导致事件分派的对象。我不确定是否可以准确确定是哪个电话导致了该事件。

07-27 18:34