您可能要實作自己的自訂小組件來擴充 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 中找到簡單範例。
在某些情況下,您沒有任何在新組件實作中協助您的現存小組件或原生程式碼。 這表示您必須在「繪製」事件的處理常式中,自行繪製小組件。雖然這個技術可能相當複雜, 但優點是可以產生一個可完全移植的實作。
藉由建立 Canvas 或 Composite 的子類別來實作自訂繪製控制項。如果您的小組件不含任何子項控制項,則將建立 Canvas 子類別。
自訂繪製小組件的內部實作通常包括下列這些主要作業:
org.eclipse.swt.custom 中實作的許多小組件都是使用這種方式。您可以在 CLabel 中找到簡單範例。
有關自訂小組件的進一步資訊,請參閱使用 SWT 建立您自己的小組件。