動作類別可讓您定義使用者指令而不必透過 UI 來執行這些指令。 這樣讓您在外掛程式中彈性地變更動作的呈現方式而不必變更實際執行指令(一旦選擇之後)的程式碼。 構成要素類別是用來管理代表指令的實際 UI 項目。 您不設計程式至構成要素類別,但您會在一部分工作台和 JFace API 看到它們。
動作 (IAction) 代表一般使用者可以觸發的指令。 動作通常與按鈕、功能表項目和工具列中的項目相關聯。
雖然動作沒有將自己放在 UI,但是它們有 UI 導向內容,例如工具要訣文字、標籤文字和影像。 這樣可讓其他類別建構呈現動作的小組件。
使用者在 UI 中觸發動作時會呼叫動作的 run 方法執行實際工作。 run 方法中的共用型樣是查詢工作台選項和操作選取的物件。 另一個共用型樣是在選擇動作後啟動精靈或對話框。
您應避免直接實作 IAction 介面。 相反地,您應該進一步分類 Action 類別。 瀏覽這個類別的子類別查看動作的許多共用型樣。 下面的程式碼實作「關於」動作。 它是工作台中的其中一個較簡單的動作。
public void run() { new AboutDialog(workbenchWindow.getShell()).open(); }
先前我們看到工作台介面 IViewActionDelegate 和 IEditorActionDelegate 。對工作台提供視圖動作或編輯器動作時會使用這些介面。 參照工作台的相關視圖或編輯器來初值設定工作台動作委派。 有了這個知識,他們可以瀏覽到工作台頁面或視窗,存取選項或執行動作時需要的其他資訊。
每次您要在外掛程式定義指令時,您會實作自己的 Action 類別。 如果提供動作給其他視圖和編輯器,您會實作動作委派。
構成要素項目 (IContributionItem) 代表動作的 UI 部分。 更明確地說,它代表一個提供給共用的 UI(例如功能表或工具列)的項目。
構成要素的項目知道如何使用代表構成要素的適當 SWT 項目填入一個特定 SWT 小組件。
提供動作給工作台 UI 時您不必擔心建立構成項目。 當工作台為已定義的動作建立 UI 項目時會為您建立該項目。
構成要素管理程式 (IContributionManager) 代表會出現在 UI 的構成項目之集合。 您可以使用具名的構成要素 ID 來新增和插入構成要素項目並採取適當順序放置項目。 您也可以根據 ID 尋找項目和除去個別項目。
IContributionManager 的每一個實作知道如何使用特定的 SWT 小組件的項目填入該小組件。JFace 為功能表 (IMenuManager)、工具列 (IToolBarManager) 和狀態行 (IStatusLineManager) 提供構成要素管理程式。
身為外掛程式開發人員,您不必實作這些介面,但是您會在 API 方法中看到部分這些管理程式的參照。