Standard Widget Toolkit
Standard Widget Toolkit(SWT)は、Javaプラットフォーム用ウィジェット・ツールキットの一種。元々、IBMが開発したが、現在はEclipse FoundationがEclipseと共に管理保守している。サン・マイクロシステムズがJava標準の一環として提供するJava用GUIツールキットであるAWTとSwingを代替するものとして開発された。
SWTはJavaで書かれている。GUI部品を表示するため、SWTはそのオペレーティングシステム (OS) が提供するGUIライブラリを JNI (Java Native Interface) 経由で使用する(これはシステム固有のAPIを使う一般的手法である)。SWTを使うプログラムは移植性があるが、ツールキット自体の実装はJavaでかかれているにもかかわらず、各プラットフォーム固有である。
SWTはEclipse Public Licenseでライセンスされている。このライセンスはOpen Source Initiative がオープンソースライセンスとして認めている。
SWTはプラットフォーム固有のGUIライブラリへのラッパーであるため、Javaが動作するプラットフォーム全てで動作するとは限らない。つまり、SWTはGUIライブラリ毎に移植が必要であり、Javaが新たなプラットフォームに移植されても、即座にSWTが移植されるとは限らない(Swing や AWT はJava本体の一部だが、SWTはそうではない)。また、Windows 上のSWT以外は、比較的効率が悪いと言われている。SWTはプラットフォーム毎に異なるネイティブライブラリを使っているため、プラットフォーム固有のバグもSWTではそのまま存在している。
SWTはSwingよりも低レベルな詳細を開発者に提示する。これはSWTがネイティブライブラリで提供されるGUI機能の上の層であるためであり、ネイティブGUIコードを開発者に提示するのも意図的と思われる。SWTの目的は、高度なユーザインタフェース設計フレームワークを提供することではなく、可能な限り多数のプラットフォームで薄いユーザインタフェースAPIを提供し、その上に高度なGUIアプリケーションを構築できるだけの機能を提供することである。