如何在 Eclipse RCP 中将父首选项页面链接到子首选项页面?

我在 Eclipse 中有一个包含复选框的首选项页面。这是家长偏好页面。


子首选项页面应包含基于父页面中某些复选框值的不同字段编辑器。


示例:如果选中父项中的复选框,则在子项中创建一个文本字段。


我想在按应用时更新/重绘子页面。


我试图通过以下方式做到这一点:


我的子页面类如下所示:


public class MyChildPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage

覆盖 setVisible 方法:


@Override

public void setVisible(final boolean visible)

{        

    super.setVisible(visible);        

    if (visible)

        createFieldEditors();            

}

我的 createFieldEditors 方法每次都使用相同的 Composite 创建字段。


尽管如此,仍然没有更新。


有没有办法在更改焦点/可见性时重新触发首选项页面创建?


开满天机
浏览 163回答 2
2回答

动漫人物

您应该只创建一次字段编辑器。您可以覆盖propertyChange的方法,FieldEditorPreferencePage被告知关于每个嗜好性变化:@Overridepublic void propertyChange(PropertyChangeEvent event) {  String propertyId = event.getProperty();  ...   super.propertyChange();}

白猪掌柜的

你可以试试打电话FieldEditorPreferencePage#initialize()吗?这需要load()每位现场编辑。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java