2014-11-25 39 views
0

對於Eclipse-RCP-Plugin中的自己的PreferencePage,我使用BooleanFieldEditor。它的值保存在PreferenceStore中(確認已保存)。 但是在再次打開PreferencePage之後,編輯器總是被設置爲「false」。BooleanFieldEditor不會從PreferenceStore加載值

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(); 
[...]} 

缺什麼?

回答

1

您需要重寫doGetPreferenceStore方法PreferencePage並返回應該由字段編輯器使用的首選項存儲。

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

FieldEditorPreferencePageinitialize方法分配這裏返回到每個字段編輯的值。如果您不覆蓋doGetPreferenceStore,則會採用container的偏好存儲區。