JFace:外掛程式的 UI 架構

工作台定義外掛程式的延伸點以提供 UI 功能給平台。 使用 org.eclipse.jface.* 套件中的類別實作許多這些延伸點(尤 其是精靈延伸)。這有什麼差別?

JFace 是一個 UI 工具箱,它提供 Helper 類別來開發令人厭惡實作的 UI 特性。 JFace 在原始 Widget 系統層次之上運作。 它提供類別以處理一般 UI 程式設計工作:

JFace 可讓您專注於特定外掛程式的功能的實作,而不是專注在基礎 Widget 系統或解 決幾乎在任何 UI 應用程式都會遇到的問題。

JFace 和工作台

JFace 在哪裡結束以及工作台從哪裡開始?有時候界線並不明顯。 一般來說,JFace API(來自套件 org.eclipse.jface.*)與工作台延伸點和 API 無關。可想而知,您可以不必使用任何工作台程式碼便能撰寫 JFace 程式。

工作台使用 JFace 但嘗試減少可能的相依性。 例如,工作台組件模型(IWorkbenchPart)要與 JFace 無關。 先前我們看到可以直接使用 SWT Widget 實作檢視畫面和編輯器而不必使用 JFace 類 別。 工作台嘗試盡量保持「JFace 中立」,讓程式設計師使用他們認為有用的 JFace 的組件。 在練習時工作台使用 JFace 完成許多它的實作並在 API 定義中參照 JFace 類型。 (例如,在工作台 IActionBar 方法中,IMenuManagerIToolBarManager IStatusLineManager 的 JFace 介面顯示成類型。)

JFace 和 SWT

SWT 與 JFace 的區分比較清楚。SWT 完全不依靠 JFace 或平台程式碼。 許多 SWT 範例說明如何建置獨立式應用程式。

JFace 專門在 SWT 程式庫頂端提供一般應用程式 UI 功能。JFace 不「隱藏」SWT 或取代它的功能。 它提供一些類別和介面,這些類別和介面處理許多與使用 SWT 來程式設計動態 UI 相關的一般工作。

查看檢視器以及它們與 SWT Widget 的關係最能清楚示範 JFace 與 SWT 的關係。

Copyright IBM Corporation and others 2000, 2003.