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