2014-01-16 47 views
0

我創建一個WizardDialog如在命令行應用程序SWT WizardDialog未顯示在任務欄

final Shell shell = new Shell(display); 
Wizard wiz = new ImportWizard(); 
WizardDialog dialog = new WizardDialog(shell, wiz); 
dialog.create(); 
dialog.open(); 

該向導的對話框不顯示如下。但它不顯示在任務欄中。 我也試過

shell.setVisible(true); 
dialog.open(); 

這讓殼牌在任務欄顯示出來,但彈窗是巫師的背後可見。

我該如何解決這個問題?

+0

不知道我明白。該向導是否完全顯示出來,還是隻在啓動/任務欄中沒有自己的圖標? – Baz

+0

嚮導確實顯示,但它現在在任務欄中有圖標。 – mihirg

回答

0

我可能會認爲,對於這種行爲的原因是,WizardDialog類只有構造提供Shell,這到底(在Dialog類)使用SameShellProvider作爲外殼供應商。你需要繼承一些東西,你可以通過你自己的IShellProvider,例如TrayDialog(或其他合適的類)。

2

我能解決這個使用下面的代碼片斷

Wizard wiz = new ImportWizard(); 
WizardDialog dialog = new WizardDialog(null, wiz); 
dialog.create(); 
dialog.open(); 

通過在WizardDialog構造函數傳遞nullShell