欄位編輯器

喜好設定頁面的實作方式是主要 SWT 程式碼。SWT 程式碼用來建立喜好設定 頁面控制項、設定控制項的值,以及擷取控制項的值。org.eclipse.jface.preference 套件提供稱為欄位編輯器的 Helper 類別,它可建立 Widget 及實作最常見喜 好設定類型的值設定和擷取程式碼。平台提供欄位編輯器來顯示及更新許多值類型, 包括 boolean、color、string、integer、font 及 file name。

FieldEditorPreferencePage 實作一個頁面,該頁面使用這些欄位編輯器來顯示及儲存頁面上的喜好設定值。 您不需要建立 SWT 控制項來填入其內容, FieldEditorPreferencePage 子類別可建立欄位編輯器來顯示內容。頁面上的所有欄位都必須當成欄位編輯器來實作。 下列是來自除錯 UI 喜好設定頁面的片段:

protected void createFieldEditors() {
	addField(new BooleanFieldEditor(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH, 
		DebugPreferencesMessages.getString("DebugPreferencePage.auto_build_before_launch"), 
		SWT.NONE, getFieldEditorParent())); 
	...	
	String[][] perspectiveNamesAndIds = getPerspectiveNamesAndIds();
	addField(new ComboFieldEditor(IDebugUIConstants.PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT,
		DebugPreferencesMessages.getString("DebugPreferencePage.Default_perspective_for_Debug_2"), //$NON-NLS-1$
		perspectiveNamesAndIds,
		getFieldEditorParent()));
	...
}

每一個欄位編輯器針對其所要建立的 SWT 控制項被指定其對應喜好設定索引鍵名稱 和文字標籤。建立的控制項種類視欄位編輯器類型而定。例如,boolean 欄位編輯器 建立勾選框。

一旦建立喜好設定頁面與喜好設定儲存庫(在 doGetPreferenceStore 方法 中指定)的關聯性,儲存現行值的程式碼、從喜好設定儲存庫起始設定控制項值的程 式碼,以及將控制項還原成預設值的程式碼皆可在 FieldEditorPreferencePage 中實作。

FieldEditorPreferencePage 將搭配使用格線佈置與一個直欄作為欄位編輯器 Widget 的預設佈置。若有特殊佈置需求,您可以置換 createContents 方法。

Copyright IBM Corporation and others 2000, 2003.