我是Eclipse PreferencePages
的新手,我正在为我的项目创建一个新的FieldEditorPreferencePage
。但是,让FileFieldEditors()
或DirectoryFieldEditors()
在我的自定义首选项页面中显示“应用”和“确定”按钮。另一方面,另一个FieldEditors
(布尔 - 和组合 - )不会禁用“应用”和“确定”按钮。
此外,将所有内容更改为Xtext的LanguageRootPreferencePage似乎也可以正常工作(虽然我不想使用它,因为我希望自定义首选项页面显示在它自己的选项卡中)。
例如:
//Simplified example of code
public class XPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage, IWorkbenchPropertyPage {
public XPreferencePage() {
super(FieldEditorPreferencePage.GRID);
setDescription("something");
}
protected void initialize() {
super.initalize();
//IPropertyChangeListeners go here
}
protected void createFieldEditors() {
//"Apply" and "OK" works here
g = new BooleanFieldEditor(SConstants.GENERATOR, "Generate Bindings", getFieldEditorParent());
addField(g);
//"Apply" and "OK" is greyed-out starting here
gp = new FileFieldEditor(SConstants.GENERATOR_PATH, "Generator Path:", false, 0, getFieldEditorParent());
gp.setEmptyStringAllowed(true);
addField(gp);
...
}
...
}
有没有解决这个问题?我遵循了Eclipse Article-Field-Editors的教程,但它似乎对我没用。在线阅读说它可能是由于负IntegerField
(我没有)或我正在尝试更改默认设置(我也没有)。
我正在使用Eclipse Mars 4.5.0。
更新:以上代码(部分)适用于FileFieldEditors
。但是,出于某种原因,我需要点击FileFieldEditor
字段,然后在“应用”和“确定”按钮之前选中并取消选中首选项页面中每个FileFieldEditor
的{{1}}正上方的复选框再次可用。
此外,我还实现了FileFieldEditor
,当取消选中某些复选框时,会停用某些字段,这意味着“检查并取消选中”解决方法对我来说不起作用。我也尝试将默认焦点设置为我的一个复选框但不起作用
答案 0 :(得分:0)
FileFieldEditor(String name, String labelText, Composite parent)
defalult验证文本小部件松散焦点时的路径,即您将无效的焦点作为默认值。
对于例如如果你给C:\\User\\XXX
,那么这条路径应该是物理存在的,只有它不会变灰并且应用按钮。
您还可以通过设置验证方法来使用下面的构造函数。
FileFieldEditor(String name, String labelText,boolean enforceAbsolute, int validationStrategy, Composite parent)
validationStrategy