SWT WizardDialog未在TaskBar中显示

时间:2014-01-16 10:32:10

标签: java swt jface

我在命令行应用程序

中创建如下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();

这使得Shell显示在任务栏中,但是在向导后面可以看到shell窗口。

我如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

我能够使用以下代码段解决此问题

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

null构造函数中将Shell作为WizardDialog传递。

答案 1 :(得分:0)

我可能会认为,这种行为的原因是WizardDialog类只有构造函数提供Shell,最后(在Dialog类中)使用SameShellProvider作为shell提供者。你需要从某些东西继承,你可以传递自己的IShellProvider,例如TrayDialog(或其他一些合适的类)。