これまで、「ウィジェット」という用語を公式な定義なしに使用してきました。 SWT クラス階層では、 ウィジェット とは、 他のウィジェットの中に配置可能な UI オブジェクトのための抽象クラスです。コントロールとは、 通常、相対する表示 (OS ウィンドウ・ハンドルによって表示される) を基礎プラットフォームに持つウィジェットです。
ウィジェットおよびコントロールという用語は区別なく使用される傾向があります。 この区別は SWT のインプリメンテーションでは重要ですが、 アプリケーションの観点からは、この区別に重点は置かれません。SWT ウィジェット階層を見ると、コントロールは、 ウィジェットの親/子ツリー内のどこにでも作成および配置できるものであることがわかります。 コントロールではないウィジェットは、通常、ある特定のタイプの親のためだけに作成できる限定された UI オブジェクトです。
『SWT API 解説書』および例には、 さまざまな種類のコントロールおよびそれらの使用方法に関する詳細が記載されています。 org.eclipse.swt.widgets パッケージには、 SWT 内のウィジェットのコア・セットが定義されています。下の表に、 このパッケージで提供されるコントロールの具象タイプおよびそれらの目的を示します。(抽象クラスは、このリストから外されています。)
ウィジェット
|
目的
|
スタイル
|
イベント |
---|---|---|---|
押して放す (またはいずれか) ときに通知を出す選択可能コントロール。 |
BORDER, CHECK, PUSH,
RADIO, TOGGLE, FLAT, LEFT, RIGHT, CENTER, ARROW (UP, DOWN)
|
Dispose, Control*, Selection | |
任意のグラフィックスを描写するための場所を提供するコンポジット・コントロール。 カスタム・コントロールをインプリメントするためにしばしば使用されます。 |
BORDER, H_SCROLL, V_SCROLL,
NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE, NO_RADIO_GROUP
|
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* | |
クール・バーが動的に位置変更できる領域を表示した選択可能なユーザー・インターフェース・オブジェクト。 |
DROP_DOWN
|
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, SHADOW_NONE, VERTICAL)
|
Dispose, Control* | |
ストリング・リストから、ユーザーが 1 つまたは複数のストリングを選ぶことができる選択可能なコントロール。 |
BORDER, H_SCROLL, V_SCROLL,
SINGLE, MULTI
|
Dispose, Control*, Selection, DefaultSelection | |
メニュー項目を含むユーザー・インターフェース・オブジェクト。 |
BAR, DROP_DOWN, NO_RADIO_GROUP, POP_UP
|
Dispose, Help, Hide, Show | |
MenuItem | メニュー内の項目を表す選択可能なユーザー・インターフェース・オブジェクト。 | CHECK, CASCADE, PUSH, RADIO, SEPARATOR | Dispose, Arm, Help, Selection |
通常、バー・グラフ形式でユーザーに進行状況を示す選択不可能なコントロール。 |
BORDER, INDETERMINATE, 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, SINGLE, READ_ONLY, LEFT, CENTER, RIGHT, WRAP, MULTI (H_SCROLL, V_SCROLL)
|
Dispose, Control*, DefaultSelection, Modify, Verify | |
選択可能なツールバー項目のレイアウトをサポートするコンポジット・コントロール。 |
BORDER, FLAT, WRAP, RIGHT, SHADOW_OUT
HORIZONTAL, VERTICAL
|
Dispose, Control*, | |
ToolItem | ツールバー内の項目を表す選択可能なユーザー・インターフェース・オブジェクト。 | PUSH, CHECK, RADIO, SEPARATOR, DROP_DOWN | Dispose, Selection |
ラバー・バンドの長方形をインプリメントするユーザー・インターフェース・オブジェクト。 |
LEFT, RIGHT, UP, DOWN, RESIZE
|
Dispose, Move, Resize | |
ユーザーが選択できるツリー項目の階層リストを表示する選択可能なコントロール。 |
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