import javax.swing.*;
import java.util.concurrent.*;public class SimpleTask2 extends JFrame
{
    public SimpleTask2()
    {  
        SwingConsole sc = new SwingConsole();
         sc.run(st,width,height);
         st.add(label);
    }    final JFrame st = new JFrame("a");
    final int width = 400;
    final int height = 300;
    static JLabel label;    public static void main(String args []) throws Exception
    {
        SwingUtilities.invokeLater(
            new Runnable()
            {
                public void run()
                {
                    new SimpleTask2();
                }
            });
//休眠2秒
        TimeUnit.SECONDS.sleep(2);
//调用事件分发线程        
        SwingUtilities.invokeLater (
            new Runnable()
            {
                public void run()
                {
//改变标签内容
                    label.setText("i can change");
                }
            }); 
    }
}
 class SwingConsole
{
    public static void run(final JFrame f, final int width, final int height)
    {
        SwingUtilities.invokeLater (
            new Runnable()
            {
                public void run()
                {
                    f.setTitle(f.getClass().getSimpleName());
                    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    f.setSize(width,height);
                    f.setVisible(true);
                }
            }); 
    }
}

解决方案 »

  1.   

    package test.swing;import javax.swing.*;
    import java.util.concurrent.*;public class SimpleTask2 extends JFrame {
      public SimpleTask2() {
        SwingConsole sc = new SwingConsole();
        sc.run(st, width, height);
        st.add(label);
      }  final JFrame st = new JFrame("a");  final int width = 400;  final int height = 300;  static JLabel label = new JLabel(); // 加上初始化代码  public static void main(String args[]) throws Exception {
        SwingUtilities.invokeLater(new Runnable() {
          public void run() {
            new SimpleTask2();
          }
        });
        // 休眠2秒
        TimeUnit.SECONDS.sleep(2);
        // 调用事件分发线程
        SwingUtilities.invokeLater(new Runnable() {
          public void run() {
            // 改变标签内容
            label.setText("i   can   change");
          }
        });
      }
    }class SwingConsole {
      public static void run(final JFrame f, final int width, final int height) {
        SwingUtilities.invokeLater(new Runnable() {
          public void run() {
            f.setTitle(f.getClass().getSimpleName());
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setSize(width, height);
            f.setVisible(true);
          }
        });
      }
    }