Swing
Swingは高度にモジュール・ベースのアーキテクチャである。これによりフレームワークのインターフェイスに様々なカスタム実装を「差し込む」ことができる。ユーザはJavaの継承の仕組みを使って、デフォルト実装をオーバーライドして、これらのコンポーネントに独自のカスタム実装を作ることができる。
Swingはコンポーネント・ベースのフレームワークである。そのコンポーネント群は全て究極的にはjavax.swing.JComponentクラスから派生したものである。Swingのオブジェクト群は非同期的にイベントを発出し、それぞれがプロパティ群を持ち、各コンポーネントに固有のメソッド呼び出しに対応する。SwingコンポーネントはJavaBeansコンポーネントであり、Java Beans Component Architecture仕様に準拠している。
Swingは、プログラミング言語 Java のGUIツールキットである。Oracle社のJava Foundation Classesの一部であり、同じくJavaの GUI ツールキットである AWT を拡張したもの。Javaプログラムにグラフィカルユーザインタフェース(GUI)を提供するAPIである。
Swingは、先行するAWTよりも洗練されたGUIコンポーネントを提供するために開発された。Swingは、幾つかのプラットフォームのルック・アンド・フィールをエミュレートしたネイティブなルック・アンド・フィールを提供する。また、「プラグイン可能なルック・アンド・フィール」(Pluggable look and feel)をサポートしていることにより、アプリケーションは簡単にルック・アンド・フィールを切り替えることができ、下で走っているプラットフォームとは関係ないルック・アンド・フィールを使うこともできる。