Eclipse RCP:在离开 IWorkbenchPreferencePage 时收到通知

Eclipse RCP: Get notified when IWorkbenchPreferencePage is left

我已经实现了两个自定义 IWorkbenchPreferencePage,并且它们按预期工作。基本上,Page1 会根据在 Page2 中所做的选择显示不同的信息。问题是我必须关闭(明确保存)首选项对话框才能看到 Page2 的更改反映在 Page1 中。

现在我想知道是否有某种机制允许我在 IWorkbenchPreferencePage 离开后做一些事情(在我的例子中,在打开的偏好页面上保存信息)。

您可以覆盖选择不同页面时调用的 okToLeave 方法。

PreferencePage 中的默认实现是:

@Override
public boolean okToLeave() {
    return isValid();
}

您也可以使用

public void setVisible(boolean visible)

当页面可见和隐藏时调用的方法(一定要在覆盖中调用 super.setVisible)。