正確には3つの選択肢と考えたほうがよいですね。AWT、Swing、SWTでしょう。本当のことを言えば、「AWTとSwing」の2つで、後は「その他にも、SWTなんかがある」という感じなのですが・・・。 まず、両者の最大の違いは、「標準か否か」という点でしょう。Swingは、Javaの標準ライブラリに含まれているものです。つまり、すべてのJavaプログラムで使えますし、作成したプログラムは(Java仮想マシンさえ入っていれば)どのOSでも動きます。 一方、SWTは、Eclipse Foundationという一団体が作って配布しているオープンソースのプログラムです。したがって、これを利用したプログラムは、それだけでは動きません(Javaの標準機能にないものなので)。あわせて、これを動かすためのDLLなどをつけて配らないと動かないのです。また、これはネイティブなコードですから、OSごとに異なるフ
![SWTとSwingの違い](https://cdn-ak-scissors.b.st-hatena.com/image/square/ef5061f8cab0f1a942550b252ca8f62601d27a19/height=288;version=1;width=512/https%3A%2F%2Foshiete.xgoo.jp%2Fimages%2Fsp%2Fqa_recommend%2F2101_5.jpg)