Eclipse: создайте страницу настроек программно

Я пытаюсь создать страницу предпочтений программно, мне нужно работать со страницами предпочтений без определения точки расширения preferencePage в plugin.xml Я очень близок к решению, я могу загрузить страницу и сохранить значение в первый раз приложения грузы,

ядро моего кода

PreferenceManager pmngr= PlatformUI.getWorkbench().getPreferenceManager();
 //this come from other plugins that implements my personal IPreferences 
    PreferencePageRCP page =new PreferencePageRCP((IPreferences) element.createExecutableExtension("class"));

    PreferenceNodeRCP node= new PreferenceNodeRCP(page.getId(), page.getTitle(),null,PreferencePageRCP.class.getName());

    node.setPage(page);
     pmngr.addToRoot(node);

где PreferencePageRCP - моя Custom PreferencePage, так что в этот момент у меня работает PreferencePage !!!

но когда я вхожу во второй раз в окно настроек, я получаю сообщение об ошибке в PreferenceNode.createPage, поэтому теперь я сделал свой собственный класс PreferenceNode, переопределяющий createPage, но теперь я получил ошибку пользовательского интерфейса

Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
org.eclipse.swt.SWTException: Widget is disposed
 at org.eclipse.swt.SWT.error(SWT.java:4083)
 at org.eclipse.swt.SWT.error(SWT.java:3998)
 at org.eclipse.swt.SWT.error(SWT.java:3969)
 at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
 at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
 at org.eclipse.swt.widgets.Control.setVisible(Control.java:3370)
 at org.eclipse.jface.dialogs.DialogPage.setVisible(DialogPage.java:470)
 at org.eclipse.jface.preference.FieldEditorPreferencePage.setVisible(FieldEditorPreferencePage.java:374)
 at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1323)
 at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:673)
 at org.eclipse.jface.preference.PreferenceDialog$10.run(PreferenceDialog.java:708)
 at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
 andContributionItem.java:796
.................

Итак, во второй раз чего-то не хватает в пользовательском интерфейсе. На данный момент я не могу исправить свой код, есть кто-то, кто успешно создал страницу настроек Preferences программно ???

Ответы на вопрос(3)

Ваш ответ на вопрос