对于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();
[...]}
有什么不见了?
最佳答案
您需要覆盖doGetPreferenceStore
的PreferencePage
方法,并返回字段编辑器应使用的首选项存储。
@Override
protected IPreferenceStore doGetPreferenceStore() {
return Activator.getDefault().getPreferenceStore();
}
initialize
的FieldEditorPreferencePage
方法将此处返回的值分配给每个字段编辑器。如果不覆盖doGetPreferenceStore
,则会使用container
的首选项存储。