Implementation av en inställningssida är primärt SWT-kod. SWT-kod används för att skapa kontrollerna på inställningssidan, ange kontrollernas värden och hämta kontrollernas värden. Paketet org.eclipse.jface.preference innehåller hjälpklasser, vilka kallas field editors. Dessa skapar gränssnittskontroller och implementerar värdeinställning och hämtningskod för de flesta vanliga inställningstyper. På plattformen finns fältredigerare för att visa och uppdatera många värdetyper, inklusive boolesk, färger, strängar, heltal, teckensnitt och filnamn.
FieldEditorPreferencePage implementerar en sida som använder dessa fältredigerare för att visa och lagra inställningsvärdena på sidan. I stället för att skapa SWT-kontroller för att fylla innehållet skapas fältredigerare med hjälp av underklassen FieldEditorPreferencePage för att visa innehållet. Alla fälten på sidan måste implementeras som fältredigerare. Följande är ett kodstycke från inställningssidan för felsökning av användargränssnittet.
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())); ... }
Varje fältredigerare tilldelas namn på mtosvarande inställningsnyckel och textetiketten för SWT-kontrollen som ska skapas. Vilken typ av kontroll som skapas beror på typ av fältredigerare. Med en boolesk fältredigerare skapas exempelvis en kryssruta.
Eftersom inställningssidan associeras till ett inställningslager (anges i metoden doGetPreferenceStore), kan koden, för att lagra aktuella värden för initiering av kontrollvärdena från inställningslagret och för återställning av kontrollerna till standardvärden, implementeras i FieldEditorPreferencePage.
FieldEditorPreferencePage använder en rutnätslayout med en kolumn som standardlayout för gränssnittskontroller för fältredigerare. Om du har speciella layoutkrav kan du åsidosätta metoden createContents.