JavaFX 2 は、現時点では比較的新しい Swing に取って代わる最新のものですが、Java 8 が来年リリースされると、さらに勢いを増す可能性があります。(JavaFX 2 では、古い FXScript もなくなり、API は純粋な Java になりました。) 個人的に言えば、API ははるかに習得しやすく、操作しやすく、美的にもデフォルトのクロスプラットフォームの外観は実際に見栄えがします。
ここを参照してください:
JavaFX は Java SE の新しいクライアント UI ライブラリとして Swing に取って代わりますか?
はい。ただし、Swing は当面の間 Java SE 仕様の一部として残るため、JRE に含まれます。新しいアプリケーションを構築するときは、開発者が JavaFX API を可能な限り活用することをお勧めしますが、Swing アプリケーションを JavaFX で拡張して、よりスムーズな移行を可能にすることができます。
ネイティブの外観を維持するものが必要な場合 (JavaFX は、現時点で私が知っているネイティブ スキンを提供していません)、SWT (ネイティブ コンポーネントを使用するという点で AWT と同様ですが、よりモダンです) を参照することをお勧めします。 qt-jambi (ネイティブ QT ツールキットの Java バインディング。) SWT は、おそらく 2 つの中でより人気があり、サポートされています。