Fehlendes Verständniss von Shells

JB4You

Mitglied
Hallo,

ich habe folgendes Problem:
Und zwar würde ich gerne einen Wizard starten. Dies versuche ich mit folgendem Code:

Code:
IWizard wizard = new TaminoServerSelectionWizard();
			 ((IWorkbenchWizard)wizard).init(PlatformUI.getWorkbench(), null);
			 WizardDialog dialog = new WizardDialog(PlatformUI.getWorkbench()
					 .getActiveWorkbenchWindow()
					 .getShell()
					 , wizard);			 
			 dialog.open();

Der Vorgang funktioniert einwandfrei aus einem anderen Wizard heraus, aber wenn ich den Vorgang einfach nur auf der PlatformUI von Eclipse ausführe, bekomme ich eine NullPointerException bei der Funktion PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()

Ich bin gerade dabei, mich diesbezüglich schlauer zu machen, aber da ich noch ziemlicher Anfänger bin, dachte ich mir, ob hier vielleicht jemand weis, woran das liegt und wie ich das in Zukunft vermeiden kann.
Ich arbeite mit Eclipse 3.3.0 .
Danke erstmal im Voraus

Gruß,
Jonas
 
Hallo,

ich habe schonmal herausgefunden, dass die Funktion PlatformUI.getWorkbench().getActiveWorkbenchWindow() null liefert und es deswegen nicht so funktionieren kann. Anders als der Vorgang, wenn er aus einem Wizard heraus startet, wird er nun in einem so geannten Daemon Thread gestartet, was ein Non-UI-Thread ist, und deswegen auch das null-Result.
Kennt jemand zufällig eine Lösung, wie ich auf den Main-Thread zeigen kann?
Ich hab mich schon mal umgschaut, aber noch nicht mal annähernd ein passendes Beispiel zu diesem Thema gefunden.
Danke in Voraus

Gruß,
Jonas
 
Zurück