Eclipse: Einstellungsseite programmgesteuert erstellen

Ich versuche, eine Einstellungsseite programmgesteuert zu erstellen. Ich muss mit Einstellungsseiten arbeiten, ohne den Einstellungsseiten-Erweiterungspunkt in plugin.xml zu definieren. Ich bin der Lösung sehr nahe. Ich kann die Seite laden und den Wert beim ersten Mal speichern Anwendungslasten,

Der Kern meines Codes ist

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);

where PreferencePageRCP ist meine benutzerdefinierte PreferencePage, so dass an diesem Punkt meine PreferencePage funktioniert !!!

, aber wenn ich ein zweites Mal zum Einstellungsfenster gehe, erhalte ich einen Fehler in PreferenceNode.createPage. Daher habe ich jetzt meine eigene PreferenceNode-Klasse erstellt, die createPage überschreibt, aber jetzt erhalte ich einen Benutzeroberflächenfehler.

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
.................

So fehlt zum zweiten Mal etwas in der Benutzeroberfläche Ich kann meinen Code an diesem Punkt nicht reparieren. Es gibt jemanden, der es erfolgreich geschafft hat, eine Einstellungsseite programmatisch zu erstellen ???

Antworten auf die Frage(6)

Ihre Antwort auf die Frage