Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Own PreferencePage:通过BooleanFieldEditor启用和禁用FieldEditor_Java_Eclipse_Eclipse Rcp_Rcp - Fatal编程技术网

Java Own PreferencePage:通过BooleanFieldEditor启用和禁用FieldEditor

Java Own PreferencePage:通过BooleanFieldEditor启用和禁用FieldEditor,java,eclipse,eclipse-rcp,rcp,Java,Eclipse,Eclipse Rcp,Rcp,我正在为一个RCP应用程序创建自己的Eclipse首选项页面。 有一个FileFieldEditor,我想由BooleanFieldEditor启用和禁用它 现在我不知道如何实现这个 public class PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { FileFieldEditor subversionPathEditor; BooleanFieldEditor

我正在为一个RCP应用程序创建自己的Eclipse首选项页面。 有一个FileFieldEditor,我想由BooleanFieldEditor启用和禁用它

现在我不知道如何实现这个

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的代码吗?我知道如何启用/禁用,但代码放在哪个方法中

已在CreateFieldEditor()、checkState()、UpdateFileEditor()和createControl()中尝试过。您可以覆盖

@Override
public void propertyChange(PropertyChangeEvent event)
{
  ... extra here

  super.propertyChange(event);
}
方法获取属性更改事件(对于所有字段)。

您可以覆盖

@Override
public void propertyChange(PropertyChangeEvent event)
{
  ... extra here

  super.propertyChange(event);
}
方法获取属性更改事件(对于所有字段)。

您可以覆盖

@Override
public void propertyChange(PropertyChangeEvent event)
{
  ... extra here

  super.propertyChange(event);
}
方法获取属性更改事件(对于所有字段)。

您可以覆盖

@Override
public void propertyChange(PropertyChangeEvent event)
{
  ... extra here

  super.propertyChange(event);
}

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

非常感谢!这与DirkNM的if条款一起解决了问题。也谢谢你!field editor API中是否没有自动处理此问题的功能?将一些字段编辑器设置为
OptionalFieldEditor
的子字段编辑器会很方便,这样所有子字段编辑器都可以由其父字段自动启用/禁用。@li不,没有此类功能非常感谢!这与DirkNM的if条款一起解决了问题。也谢谢你!field editor API中是否没有自动处理此问题的功能?将一些字段编辑器设置为
OptionalFieldEditor
的子字段编辑器会很方便,这样所有子字段编辑器都可以由其父字段自动启用/禁用。@li不,没有此类功能非常感谢!这与DirkNM的if条款一起解决了问题。也谢谢你!field editor API中是否没有自动处理此问题的功能?将一些字段编辑器设置为
OptionalFieldEditor
的子字段编辑器会很方便,这样所有子字段编辑器都可以由其父字段自动启用/禁用。@li不,没有此类功能非常感谢!这与DirkNM的if条款一起解决了问题。也谢谢你!field editor API中是否没有自动处理此问题的功能?将某些字段编辑器设置为
OptionalFieldEditor
的子字段编辑器会很方便,这样所有子字段编辑器都可以由其父字段自动启用/禁用。@li否,没有此类功能