設定ページのインプリメンテーションは基本的に SWT コードです。 SWT コードは、 設定ページ・コントロールの作成、コントロール値の設定、およびコントロール値の検索 に使用されます。org.eclipse.jface.preference パッケージは、 ウィジェットを作成し、最も一般的な設定型の値設定コードおよび検索コードをインプリメントする、 フィールド・エディター という名前の helper クラスを提供します。 プラットフォームは、ブール値、色、ストリング、整数、フォント、およびファイル名を含む多数の値の型を表示および更新する、フィールド・エディターを提供します。
FieldEditorPreferencePage は、 ページ上の設定値を表示および保管するこれらフィールド・エディターを使用するページをインプリメントします。 FieldEditorPreferencePage サブクラスは、コンテンツを表すために SWT コントロールを作成する代わりに、フィールド・エディターを作成してコンテンツを表示します。 ページにあるフィールドはすべて、フィールド・エディターとしてインプリメントされていなければなりません。 以下は、デバッグ 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())); ... }
それぞれのフィールド・エディターには、エディターが作成する SWT コントロールに対して、 対応する設定キー名、およびテキスト・ラベルが割り当てられます。 作成されるコントロールの種類は、フィールド・エディターの型によって異なります。例えば、ブール値フィールド・エディターはチェック・ボックスを作成します。
設定ページは設定ストアに関連付けされている ( doGetPreferenceStore メソッドで指定される) ため、 現行値の保管、設定ストアによるコントロール値の初期化、およびコントロールのデフォルト値への復元のためのコードは、 すべて FieldEditorPreferencePage にインプリメントすることが可能です。
FieldEditorPreferencePage は、 フィールド・エディター・ウィジェットのデフォルト・レイアウトとして、1 つのカラムに格子レイアウトを使用します。 特別なレイアウト要件には、createContents メソッドをオーバーライドすることができます。