对于Eclipse-RCP-Plugin中自己的PreferencePage,我使用BooleanFieldEditor。其值保存在PreferenceStore中(确认已保存)。
但是在再次打开PreferencePage之后,编辑器始终设置为“ false”。

public class PreferencePage extends FieldEditorPreferencePage implements
IWorkbenchPreferencePage {

[...]
protected void createFieldEditors() {
subversionSupportBooleanFieldEditor = new BooleanFieldEditor
    (PreferenceConstants.FIELD_SUBVERSION_SUPPORT, "Enable Subversion support", BooleanFieldEditor.DEFAULT, getFieldEditorParent());
subversionSupportBooleanFieldEditor.setPreferenceStore(Activator.getDefault().getPreferenceStore());
subversionSupportBooleanFieldEditor.load();
[...]}


有什么不见了?

最佳答案

您需要覆盖doGetPreferenceStorePreferencePage方法,并返回字段编辑器应使用的首选项存储。

  @Override
  protected IPreferenceStore doGetPreferenceStore() {
    return Activator.getDefault().getPreferenceStore();
  }


initializeFieldEditorPreferencePage方法将此处返回的值分配给每个字段编辑器。如果不覆盖doGetPreferenceStore,则会使用container的首选项存储。

08-03 19:57