我需要以编程方式创建一些首选项页面。当我第一次触发以下代码时,它会按预期工作:
IPreferencePage page = new NewPreferencePage(test);
page.setTitle("First Title");
PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
PreferenceNode node = new PreferenceNode("node." + nodeName, page);
pm.addToRoot(node);
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getShell();
PreferenceDialog pd = new PreferenceDialog(shell, pm);
pd.setPreferenceStore(Activator.getDefault().getPreferenceStore());
pd.create();
pd.open();
问题是当我尝试从标准模式(Window -> Preferences)访问首选项时发生错误,并且我创建的节点为空。此外,当我触发此代码超过 2 次时,会创建一个新节点,并且前一个节点在首选项列表中显示为空白行。
任何人都有一些教程或一些详细信息来描述如何以编程方式创建它。我在网上搜索并尝试了不同的方法,但没有成功。
或者,如果有人知道如何在触发菜单时更改标准 PreferenceDialog,我可以尝试另一种解决方案。
这个问题与这个问题类似: Eclipse: create preference page programmatically,但我还是无法解决它。
谢谢