SwingUtilities.invokeLater()应用

原创 2016年05月31日 16:09:10
public static void invokeLater(Runnable doRun)
导致 doRun.run() 在 AWT 事件指派线程上异步执行。在所有挂起的 AWT 事件被处理后才发生。此方法应该在应用程序线程需要更新该 GUI 时使用。在下面的示例中, invokeLater 调用将事件指派线程上的 Runnable 对象 doHelloWorld 加入队列,然后输出一条信息。
 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() 抛出一个未捕获的异常,则该事件指派线程将不会缠绕(不是该当前线程)

【转】方法SwingUtilities.invokeLater()的作用

Swing是线程不安全的,也就是说只能从单线程访问Swing组件。Swing单线程设计的结果,使得大多数情况下只能从事件派发线程(事件派发线程是调用paint和update等回调方法的线程,而且还是事...
  • hsnxyc
  • hsnxyc
  • 2010-07-17 21:52:00
  • 6257

SwingUtilities的invokeLater和invokeAndWait

Swing程序的线程处理 前言 因为很多人会见到一些源代码中调用SwingUtilities的invokeLater或者invokeAnd-Wait方法,但是却不理解它们到底起到了什么作用,本文...
  • yanwushu
  • yanwushu
  • 2014-09-20 19:30:55
  • 5910

Swing线程之SwingUtilities.invokeLater解释

在官方的文档里:http://docs.oracle.com/javase/tutorial/uiswing/painting/step1.html 告诉我们如何创建一个gui。 事件分发线程: ...
  • paullinjie
  • paullinjie
  • 2016-07-23 06:14:30
  • 902

SwingUtilities.invokeLater()和invokeAndWait()的使用

SwingUtilities.invokeLater()和SwingUtilities.invokeAndWait()的使用 事件分发线程:        Swing中事件处理和绘画代码都在一个单独...
  • ljheee
  • ljheee
  • 2016-06-19 17:12:07
  • 699

SwingUtilities.invokeLater(Runnable doRun)方法的使用

 
  • freeskycsdn
  • freeskycsdn
  • 2007-10-31 10:19:00
  • 360

SwingUtilities.invokeLater()和SwingUtilities.invokeAndWait()的区别

invokeAndWait:后面的程序必须等这个线程(参数中的线程)执行完才能执行 invokeLater:后面的程序和这个参数的线程对象可以并行,异步地执行 invokeLater一般用于在线程...
  • u010995220
  • u010995220
  • 2016-04-22 18:19:01
  • 477

SwingUtilities中invokeLater,invokeAndWait的作用和区别

invokeLater,invokeAndWait是专门给Swing的线程安全准备的两个方法,Swing是线程不安全的,是单线程的设计,复杂的Swing交互一定要考虑多线程的问题。 因此只能从事...
  • cuiyaoqiang
  • cuiyaoqiang
  • 2016-05-05 08:50:25
  • 1193

调用SwingUtilities.invokeLater()将更新UI的操作放到事件派发线程中执行

在Java中Swing是线程不安全的,是单线程的设计,只能从事件派发线程访问将要在屏幕上绘制的Swing组件,不能在事件派发线程以外的线程中更新Swing组件。事件派发线程是调用paint和updat...
  • kingsonyoung
  • kingsonyoung
  • 2016-01-23 18:31:35
  • 815

java学习之路6-SwingUtilities中invokeLater和invokeAndWait

首先看一个概念:事件派发线程(event dispath thread),它是用于swing组件的,是界面的主线程。由于Swing是线程不安全的,是单线程设计,程序中对界面的操作都必须放到时间派发线程...
  • guoxuequan
  • guoxuequan
  • 2009-12-23 11:40:00
  • 2924

Java-Swing: SwingUtilities中invokeLater和invokeAndWait介绍

事件派发线程(eventdispath thread),它是用于swing组件的,是界面的主线程。由于Swing是线程不安全的,是单线程设计,程序中对界面的操作都必须放到时间派发线程中执行。当你在ma...
  • eliteit
  • eliteit
  • 2014-05-14 10:40:41
  • 502
收藏助手
不良信息举报
您举报文章:SwingUtilities.invokeLater()应用
举报原因:
原因补充:

(最多只允许输入30个字)