在jdk5.0中 sun为了保证从事件分派线程之外的一个线程上创建GUI代码,推荐使用SwingUtilties类定义的两个方法:invokeAndWait()或invokeLater(),比如:
import java.awt.*;
import javax.swing.*;
public class JLabelDemo extends JApplet{
  public void init()
    try{
        SwingUtilites.invokeAndWait(
           new Runnable (){
           public void run(){
               makeGUI();
                              }
                                  }
      );
}       catch (Exception e){
            System.out.println("Can't create" + e);
}
}
     private void makeGUI(){
        ImageIcon ii = new ImageIcon ("xxx.gif");
        JLabel jl = new JLabel("France",ii, JLabel.CENTER);
        add(jl);
   }
}      
_____________________________________________________________
请问能否写成 :
  Synchronized  private void makeGUI(){ 
  同时不用 nvokeAndWait()       ???/

解决方案 »

  1.   

    请问能否写成 :
      Synchronized  private void makeGUI(){ 
      同时不用 invokeAndWait()       ???/
      

  2.   

    为什么没人回答呢 大家都不用invokewait()吗?
      

  3.   

    invokeAndWait()或invokeLater()是分派线程和线程同步不是一个概念~
    请问能否写成 :
      Synchronized  private void makeGUI(){ 
      同时不用 nvokeAndWait()       ???/
    你自己去实现一个线程去完成这个功能也可以,但是你自己要达到这两个提供的方法的功能不觉得麻烦吗?还有你加Synchronized  干社么?难到有多个对象会同时访问这个方法吗
    既有之则用之,何必重复发明轮子呢