コントロール

これまで、ウィジェットという用語を公式な定義なしに使用してきました。 SWT クラス階層では、 ウィジェット とは、 他のウィジェットの中に配置可能な UI オブジェクトのための抽象クラスです。 コントロール とは、 通常、相対する表示 (OS ウィンドウ・ハンドルによって表示される) を基礎プラットフォームに持つウィジェットです。

ウィジェットおよびコントロールという用語は区別なく使用される傾向があります。 この区別は SWT のインプリメンテーションでは重要ですが、 アプリケーションの観点からは、この区別に重点は置かれません。SWT ウィジェット階層を見ると、 コントロール は、ウィジェットの親/子ツリー内のどこにでも作成および配置できるものであることがわかります。 コントロールではないウィジェットは、通常、ある特定のタイプの親のためだけに作成できる限定された UI オブジェクトです。

SWT API 解説書 および例には、 さまざまな種類のコントロールおよびそれらの使用方法に関する詳細が記載されています。 org.eclipse.swt.widgets パッケージには、 SWT 内のウィジェットのコア・セットが定義されています。以下の表に、 このパッケージで提供されるコントロールの具象タイプおよびそれらの目的を示します。 (抽象クラスは、このリストから外されています。)

 
ウィジェット
目的
スタイル
イベント
押して放す (またはいずれか) ときに通知を出す選択可能コントロール。
BORDER, ARROW, CHECK, PUSH, RADIO, TOGGLE, FLAT, LEFT, RIGHT, CENTER
Dispose, Control*, Selection
任意のグラフィックスを描写するための場所を提供するコンポジット・コントロール。 カスタム・コントロールをインプリメントするためにしばしば使用されます。
BORDER, H_SCROLL, V_SCROLL, NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE
Dispose, Control*
テキストの挿入ポイントとして通常使用される I ビーム。
 
Dispose
ユーザーがストリング・リストからストリングを選択、 またはオプションで新しい値を編集可能テキスト・フィールドへ入力できる選択可能なコントロール。 スペースが限定されている場合に、単一選択リスト・ボックスを使用するのではなく、 選択可能なストリングのポップダウン表示を必要とする場合にしばしば使用されます。
BORDER, DROP_DOWN, READ_ONLY, SIMPLE
Dispose, Control*, DefaultSelection, Modify, Selection
他のウィジェットを含むことができるコントロール。
BORDER, H_SCROLL, V_SCROLL
Dispose, Control*
バーに含まれるクール項目の位置を動的に変更することができるコンポジット・コントロール。
BORDER
Dispose, Control*
クール・バーが動的に位置変更できる領域を表示した選択可能なユーザー・インターフェース・オブジェクト。
 
Dispose
他のウィジェットをグループ化し、 それらをエッチング枠および (または) ラベルで囲んだコンポジット・コントロール。
BORDER, SHADOW_ETCHED_IN, SHADOW_ETCHED_OUT, SHADOW_IN, SHADOW_OUT, SHADOW_NONE
Dispose, Control*
ストリングまたはイメージを表示する選択不可能なコントロール。
BORDER, CENTER, LEFT, RIGHT, WRAP, SEPARATOR (with HORIZONTAL, SHADOW_IN, SHADOW_OUT, VERTICAL)
Dispose, Control*
ストリング・リストから、ユーザーが 1 つまたは複数のストリングを選ぶことができる選択可能なコントロール。
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI
Dispose, Control*, Selection, DefaultSelection
メニュー項目を含むユーザー・インターフェース・オブジェクト。
BAR, DROP_DOWN, POP_UP
Dispose, Help, Hide, Show
MenuItem メニュー内の項目を表す選択可能なユーザー・インターフェース・オブジェクト。 CHECK, CASCADE, PUSH, RADIO, SEPARATOR Dispose, Arm, Help, Selection
通常、バー・グラフ形式でユーザーに進行状況を示す選択不可能なコントロール。
BORDER, SMOOTH, HORIZONTAL, VERTICAL
Dispose, Control*
親ウィンドウ内で、サッシのラバー・バンドされたアウトラインをドラッグすることができる 選択可能なコントロール。分割線を位置変更することにより、子ウィジェットをサイズ変更するために使用されます。
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
数値の範囲を示す選択可能なコントロール。
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
ScrollBar 正の数値の範囲を示す選択可能なコントロール。 V_SCROLL および (または) H_SCROLL スタイルを持つコンポジットで使用されます。 HORIZONTAL, VERTICAL Dispose, Selection
OS ウィンドウ・マネージャーによって管理されるウィンドウ。 シェルは、ディスプレイ (トップレベル・シェル)、または他のシェル (2 次シェル) の子になることがあります。
BORDER, H_SCROLL, V_SCROLL, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE (SHELL_TRIM, DIALOG_TRIM も参照)
Dispose, Control*, Activate, Close, Deactivate, Deiconify, Iconify
数値の範囲を示す選択可能なコントロール。 スライダーは、範囲に沿って現行値を調節できるドラッグ可能なサムを提供する点で、スケールとは異なります。
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
ラベル化されたタグをユーザーが使用することにより、 選択できるページをグループ化するコンポジット・コントロール。
BORDER
Dispose, Control*, Selection
TabItem タブ・フォルダーでページのタブに対応する選択可能なユーザー・インターフェース・オブジェクト。 Dispose
ユーザーが選択できるテーブル項目のリストを表示する選択可能なコントロール。 項目は、各項目の性質を表す複数の列を表示する行に表示されます。
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK, FULL_SELECTION, HIDE_SELECTION
Dispose, Control*, Selection, DefaultSelection
TableColumn テーブル内の列を表す選択可能なユーザー・インターフェース・オブジェクト。 LEFT, RIGHT, CENTER Dispose, Move, Resize, Selection
TableItem テーブル内の項目を表す選択可能なユーザー・インターフェース・オブジェクト。   Dispose
ユーザーがテキストを入力できる編集可能なコントロール。
BORDER, H_SCROLL, V_SCROLL, MULTI, SINGLE,  READ_ONLY, WRAP
Dispose, Control*, DefaultSelection, Modify, Verify
選択可能なツールバー項目のレイアウトをサポートするコンポジット・コントロール。
BORDER, FLAT, WRAP, RIGHT, HORIZONTAL, VERTICAL
Dispose, Control*,
ToolItem ツールバー内の項目を表す選択可能なユーザー・インターフェース・オブジェクト。 PUSH, CHECK, RADIO, SEPARATOR, DROP_DOWN Dispose, Selection
ラバー・バンドの長方形をインプリメントするユーザー・インターフェース・オブジェクト。
 
Dispose, Move
ユーザーが選択できるツリー項目の階層リストを表示する選択可能なコントロール。
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK
Dispose, Control*, Selection, DefaultSelection, Collapse, Expand
TreeItem ツリー内のツリー項目の階層を表す選択可能なユーザー・インターフェース・オブジェクト。 Dispose

Control* = コントロールから継承されるイベント:  FocusIn, FocusOut, Help, KeyDown, KeyUp, MouseDoubleClick, MouseDown, MouseEnter, MouseExit, MouseHover, MouseUp, MouseMove, Move, Paint, Resize