De implementatie van een voorkeurenpagina bestaat hoofdzakelijk uit SWT-code. SWT-code wordt gebruikt voor het maken van de besturingsfuncties van de voorkeurenpagina's en voor het instellen en ophalen van de waarden voor de besturingsfuncties. Het org.eclipse.jface.preference -pakket levert Helperklassen die veldeditors worden genoemd, die de widgets maken en de codes implementeren voor het instellen en ophalen van de waarden voor de meeste algemene typen voorkeuren. Het platform levert veldeditors voor het weergeven en bijwerken van vele typen waarden, onder andere booleaanse, kleuren, tekenreeksen, gehele getallen, lettertypen en bestandsnamen.
FieldEditorPreferencePage implementeert een pagina die deze veldeditors gebruikt voor het weergeven en opslaan van de voorkeurswaarden op de pagina. In plaats van het maken van SWT-besturingsfuncties om de content in te vullen, worden door de FieldEditorPreferencePage -subklasse veldeditors gemaakt om de inhoud weer te geven. Alle velden op de pagina moeten worden geïmplementeerd als veldeditors. Een snippet van de voorkeurenpagina van Debug 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())); ... }
Elke veldeditor krijgt de naam toegewezen van de bijbehorende voorkeurssleutel en het tekstlabel van de SWT-besturingsfunctie die door de veldeditor wordt gemaakt. Het type besturingsfunctie dat wordt gemaakt is afhankelijk van het type veldeditor. Door een booleaanse veldeditor wordt bijvoorbeeld een selectievakje gemaakt.
Omdat de voorkeurenpagina is gekoppeld aan een voorkeurenarchief (opgegeven in de doGetPreferenceStore-methode), kunnen de codes voor het opslaan van de huidige waarden, voor het initialiseren van de besturingswaarden van het voorkeurenarchief en voor het terugzetten van de standaardwaarden van de besturingsfuncties alle worden geïmplementeerd in de FieldEditorPreferencePage.
De FieldEditorPreferencePage gebruikt een rasterlayout met één kolom als standaardlayout voor de veldeditorwidgets. Als u bijzondere vereisten voor de layout wilt gebruiken, kunt u de createContents-methode negeren.