Java で GUI の立ち上げ方法

import java.awt.*;

public class Hoge {

    public static void main(String[] args) {
        // こうすると main スレッドと AWT スレッドが同時に動くので、
        // 同期をちゃんと考えないといけなくなる。
        // 換言すれば、同期さえちゃんと考えてあればこれでも悪くはない。
        // Frame frame = new Frame();
        // frame.setVisible(true);
        // その他 frame に対する種々のメソッドの呼び出し...

        // こうやって GUI スレッドで動かすほうが良い。
        // 
        Runnable runnable = new Runnable() {
            public void run() {
                Frame frame = new Frame();
                frame.setVisible(true);
                // その他 frame に対する種々のメソッドの呼び出し...
            }
        };
        SwingUtilities.invokeLater(runnable);
    }
}