invokeLater是马上返回,不等待代码执行
invokeAndWate是等到代码执行完成以后函数才反回!前者是异步的,而后者是同步的。

解决方案 »

  1.   

    能不能保证invokeLater在B之前结束?
    ======================
      

  2.   

    这个是多线程竞争的问题,因此不能保证一定在b之前结束, 如果你要保证在b之前结束的话,那么你就用invokeAndWate,它能保证一定在b之前结束。
      

  3.   

    不能保证在b之前结束,因为这个是多线程竞争的问题。
    如果要在b之前结束,那么只能用invokeAndWate
      

  4.   

    刚查到的资料,invokeAndWate是不能在事件里插入的。那么只好用invokeLater,可他却是异步的。不能知道什么时候开始和结束的,invokeLater下面的程序不能保证在invokeLater后发生。要这个目的的原因是面板的重绘之类的方法,必须等到事件过程结束后才能运行的。那样的话面板的大小等信息就得不到的。而我就是要得到这个面板的信息。请问Java有没有解决这个问题的方法?
    盼高手指教!!!!
    ======================
      

  5.   

    没有Swing高手了么?我该怎么样让A、B之间的部分在B之前运行结束?
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  6.   

    这么久都没有人来回答啊??没有人对线程熟悉么?
    就是怎么样才能保证一个线程在paint(或者paintComponent)控件线程之后发生?
    还有不明白我的意思的举手!
      

  7.   

    invokeAndWait不就是创建一个线程吗?谁说只能用invokeLater?
      

  8.   

    to  hello_wyq(半瓶墨水) 
    在事件过程中的确不能用invokeAndWait()
    而且就算可以用,线程和paint()方法的执行也不能同步(就是在paint后执行)。
      

  9.   

    不可能这样做,java只有一个事件队列!如果你这样做就会死锁掉!
      

  10.   

    那怎么办啊,事实上就是要这么做。我的目的是:有一个面板,他上面有很多的按钮和面板,就像QQ的型式点击一个按钮他就会滚动到“陌生人”里。但是这个面板事先是没有显示出来的,而且是放在BorLayOut的West中的。也就是我不知道他的大小。这样就不好滚动。所以就需要请高手帮忙。谢谢先了,分不够,可以在加啊!!
    ================================================================