Implementeringen av preferansesiden er primært SWT-kode. SWT-kode blir brukt til å opprette preferansesidekontroller, definere verdiene til kontrollene og hente kontrollverdiene. Pakken org.eclipse.jface.preference inneholder hjelpeklassene feltredigeringsprogrammer, som oppretter widgetene og implementerer verdiinnstillingene og henter koden for de vanligste preferansetypene. Plattformen inneholder feltredigeringsprogrammer som viser og oppdaterer en rekke verdityper, inkludert boolske verdier, farger, strenger, heltall, fonter og filnavn.
FieldEditorPreferencePage implementerer en side som bruker disse feltredigeringsprogrammene til å vise og lagre preferanseverdiene på siden. I stedet for å opprette SWT-kontroller til å fylle ut innholdet, oppretter subklassen FieldEditorPreferencePage feltredigeringsprogrammer til å vise innholdet. Alle feltene på siden må implementeres som feltredigeringsprogrammer. Nedenfor ser du en snutt fra preferansesiden for feilsøkingsgrensesnittet:
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())); ... }
Hvert feltredigeringsprogram tildeles navnet på den tilhørende preferansenøkkelen og tekstetiketten for SWT-kontrollen som den oppretter. Hva slags kontroll som opprettes, avhenger av typen feltredigeringsprogram. For eksempel oppretter et boolsk feltredigeringsprogram en avmerkingsboks.
Siden preferansesiden tilknyttes et preferanselager (angitt i metoden doGetPreferenceStore), kan koden for lagring av gjeldende verdier, initialisering av kontrollverdiene fra preferanselageret og for gjenoppretting av kontrollene til standardverdiene, alle implementeres i FieldEditorPreferencePage.
FieldEditorPreferencePage bruker rutenettlayout med en kolonne som standardlayout for widgeter for feltredigeringsprogram. Ved spesielle layoutkrav kan du overstyre metoden createContents.