导致 dorun.run() 在 awt 事件指派线程上异步执行。在所有挂起的 awt 事件被处理后才发生。此方法应该在应用程序线程需要更新该 gui 时使用。在下面的示例中,invokelater
调用将事件指派线程上的 runnable
对象 dohelloworld
其他
iis7站长之家队列,然后输出一条信息。
runnable dohelloworld = new runnable() {
public void run() {
system.out.println("hello world on " + thread.currentthread());
}
};
swingutilities.invokelater(dohelloworld);
system.out.println("this might well be displayed before the other message.");
如果从事件指派线程调用 invokelater(例如,从 jbutton 的 actionlistener)则仍要将 dorun.run() 推迟,直到处理了所有挂起的事件。注意,如果 dorun.run() 抛出一个未捕获的异常,则该事件指派线程将不会缠绕(不是该当前线程)。
有关此方法的其他文档和示例,请参阅 the java tutorial 中的 how to use threads 一节。
从 1.3 版本开始,此方法只覆盖了 java.awt.eventqueue.invokelater()
。
与 swing 的其余部分不同,可从任一线程中调用此方法。
- 另请参见:
invokeandwait(java.lang.runnable)