自訂小組件

您可能要實作自己的自訂小組件來擴充 SWT。SWT 本身提供套件 org.eclipse.swt.custom ,它包含不在 SWT 控制項的核心集之中,但需要實作平台工作台的自訂控制項。

控制項
目的
CBanner CBanner 在工作台中用來佈置工具列區域和視景切換工具列。
CCombo 類似 Combo,但為垂直且可調整大小,以符合表格資料格大小。
CLabel 類似 Label,但支援含有省略符號的文字縮寫。也支援如同在作用中工作台視圖 看到的背景顏色漸層效果。不支援包裝。
CTabFolder 類似 TabFolder,但支援標示(頂端或底端)和邊框的視覺化外觀附加配置。
CTabItem 對應於 CTabFolder 中頁面的標籤之可選取使用者介面物件。
SashForm 複合式控制項,在列或直欄安排中佈置其子項並使用 Sash 來分隔它們,以便使用者 可調整它們的大小。
ScrolledComposite 複合式控制項,捲動其容並選擇性地延伸其內容來填入可用空間。
StyledText 可讓使用者輸入文字的可編輯控制項。控制項內的文字範圍可以有不同的顏色與字型樣式。
ViewForm ViewForm 在工作台中用來定位和調整視圖標籤/工具列/功能表本端列的大小。

實作自訂小組件

一旦您確定需要自訂小組件且決定好必須支援的平台後,您可以考量小組件的一些實 作技術。這些技術可根據基礎 OS 平台中的可用項目來混合及配合使用。

原生的實作

如果您的應用程式需要不是由 SWT 提供的原生小組件,您必須未加修飾地實作它。 這可能是平台小組件、第三人小組件或平台共用程式庫中其他任何小組件。您可以在使用 SWT 建立您自己的小組件中,找到原生自訂小組件實作的完整範例。

組合現有的小組件

您可以結合小組件,以形成更準確的小組件。例如,使用文字項目小組件以及按鈕和下拉清單,便可實作 Combo。如果要實作結合小組件,請建立 Composite 的子類別,並於內部管理子項。

您可以在 CCombo 中找到簡單範例。

自訂繪製實作

在某些情況下,您沒有任何在新組件實作中協助您的現存小組件或原生程式碼。 這表示您必須在「繪製」事件的處理常式中,自行繪製小組件。雖然這個技術可能相當複雜, 但優點是可以產生一個可完全移植的實作。

藉由建立 CanvasComposite 的子類別來實作自訂繪製控制項。如果您的小組件不含任何子項控制項,則將建立 Canvas 子類別。

自訂繪製小組件的內部實作通常包括下列這些主要作業:

org.eclipse.swt.custom 中實作的許多小組件都是使用這種方式。您可以在 CLabel 中找到簡單範例。

有關自訂小組件的進一步資訊,請參閱使用 SWT 建立您自己的小組件。