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