首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拥有PreferencePage:通过BooleanFieldEditor启用和禁用FieldEditor

拥有PreferencePage:通过BooleanFieldEditor启用和禁用FieldEditor
EN

Stack Overflow用户
提问于 2014-11-13 13:19:43
回答 1查看 570关注 0票数 0

我正在为RCP应用程序为Eclipse创建自己的PreferencePage。有一个FileFieldEditor,我希望通过BooleanFieldEditor来启用和禁用它。

现在我不知道如何实现这一点。

代码语言:javascript
复制
public class PreferencePage extends FieldEditorPreferencePage implements
IWorkbenchPreferencePage {

FileFieldEditor subversionPathEditor;
BooleanFieldEditor subversionSupportBooleanFieldEditor;

public PreferencePage() {
super(GRID);
setPreferenceStore(Activator.getDefault().getPreferenceStore());
setDescription(""); //$NON-NLS-1$
}


protected void createFieldEditors() {
subversionSupportBooleanFieldEditor = new BooleanFieldEditor
    ("subversionSupport", "Enable Subversion support", BooleanFieldEditor.DEFAULT, getFieldEditorParent());
System.out.println(subversionSupportBooleanFieldEditor.getPreferenceName());

subversionSupportBooleanFieldEditor.setPropertyChangeListener(new IPropertyChangeListener() {
    @Override
    public void propertyChange(PropertyChangeEvent event) {
    if ("field_editor_value".equalsIgnoreCase(event.getProperty())) {
        Boolean enabled = (Boolean)event.getNewValue();
        subversionPathEditor.setEnabled(enabled, getFieldEditorParent());
    }

    }
});
addField(subversionSupportBooleanFieldEditor);
subversionPathEditor = new FileFieldEditor("SubversionPathEditor", "Subversion client executable: ", true, 
    FileFieldEditor.VALIDATE_ON_KEY_STROKE, getFieldEditorParent());
subversionPathEditor.setStringValue(VCSSettings.getSubversionPath());
    addField(subversionPathEditor);

有什么想法可以把代码放在哪里来启用和禁用FileFieldEditor?我知道如何启用/禁用,但是在哪种方法中放置了代码?

已经在createFieldEditors()、checkState()、updateFieldEditors()和createControl()中尝试过。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-13 14:34:44

您可以覆盖

代码语言:javascript
复制
@Override
public void propertyChange(PropertyChangeEvent event)
{
  ... extra here

  super.propertyChange(event);
}

方法来获取属性更改事件(对于所有字段)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26909856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档