Editory polí

Implementace stránky předvoleb je především kódem SWT.  Kód SWT se používá k vytvoření obslužných prvků stránky předvoleb, nastavení hodnot obslužných prvků a k zavedení hodnot obslužných prvků. Balíček org.eclipse.jface.preference poskytuje třídy pomocníka nazývané editory polí, které vytvářejí prvky widget a implementují kód nastavení a zavedení hodnot pro většinu běžných typů předvoleb. Platforma poskytuje editory polí k zobrazení a aktualizaci mnoha typů hodnot, včetně logických hodnot, barev, řetězců, celých čísel, písem a názvů souborů.

FieldEditorPreferencePage implementuje stránku, která používá tyto editory polí k zobrazení a ukládání hodnot předvoleb na stránce.  Namísto vytváření obslužných prvků SWT k naplnění obsahu vytváří podtřída FieldEditorPreferencePage k zobrazení obsahu editory polí.  Všechna pole na této stránce musejí být implementována jako editory polí.  Následuje úsek ze stránky ladění předvoleb uživatelského rozhraní:

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()));
	...
}

Každému editoru polí je přiřazen název jeho odpovídajícího klíče předvolby a textový štítek pro obslužný prvek SWT, který bude vytvořen. Druh vytvořeného obslužného prvku závisí na typu editoru polí. Například booleovský editor polí vytváří zaškrtávací políčko.

Jelikož je stránka předvoleb přidružena k paměti předvolby (specifikované v metodě doGetPreferenceStore), může být kód pro ukládání aktuálních hodnot, pro inicializaci hodnot obslužného prvku z paměti předvolby a pro obnovení obslužných prvků na jejich výchozí hodnoty implementován v FieldEditorPreferencePage.

FieldEditorPreferencePage použije rozvržení mřížky s jedním sloupcem jako výchozího rozvržení pro prvky widget editoru polí. Při zvláštních požadavcích na rozvržení můžete přepsat metodu createContents.