对于 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
的偏好存储已被采取。
关于java - BooleanFieldEditor 不从 PreferenceStore 加载值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27122332/