Редакторы полей

Реализация страницы параметров представляет собой, в основном, код SWT.  Код SWT используется для создания управляющих элементов страницы параметров, присваивания и получения значений управляющих элементов. Пакет org.eclipse.jface.preference содержит классы вспомогательного приложения, называемые редакторами полей, которые создают управляющие элементы и реализуют код для присваивания и получения значений для многих стандартных типов параметров. Платформа содержит редакторы полей для просмотра и обновления различных типов значений, в том числе булевских значений, цветов, строк, целочисленных значений, шрифтов и имен файлов.

Класс FieldEditorPreferencePage создает страницу, которая использует эти редакторы параметров для отображения и хранения значений параметров на странице.  Вместо создания управляющих элементов SWT для ввода содержимого, класс FieldEditorPreferencePage создает редакторы полей для отображения содержимого.  Все поля на странице должны создаваться как редакторы полей.  Ниже приведен фрагмент кода из отлаживаемой страницы параметров:

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. Тип создаваемого управляющего элемента зависит от типа редактора полей. Например, редактор булевских полей создает переключатели.

Поскольку страница параметров связана с хранилищем параметров (которое указано в методе doGetPreferenceStore), код для сохранения текущих значений, инициализации значений управляющих элементов и восстановления их стандартных значений может быть реализован в FieldEditorPreferencePage.

FieldEditorPreferencePage по умолчанию использует макет сетки с одним столбцом для управляющих элементов редактора полей.  Для создания другого макета необходимо переопределить метод createContents.