Java SWT向导对话框未显示在任务栏中
我正在命令行应用程序中创建一个Java SWT向导对话框未显示在任务栏中,java,swt,jface,Java,Swt,Jface,我正在命令行应用程序中创建一个向导对话框,如下所示 最终外壳=新外壳(显示); 向导wiz=new ImportWizard(); WizardDialog=新建WizardDialog(shell,wiz); dialog.create(); dialog.open(); 向导对话框确实显示。但它不会显示在任务栏中。 我也试过了 shell.setVisible(true); dialog.open(); 这使得Shell显示在任务栏中,但在向导后面可以看到Shell窗口 如何解决这个问题
向导对话框
,如下所示
最终外壳=新外壳(显示);
向导wiz=new ImportWizard();
WizardDialog=新建WizardDialog(shell,wiz);
dialog.create();
dialog.open();
向导对话框确实显示。但它不会显示在任务栏中。
我也试过了
shell.setVisible(true);
dialog.open();
这使得Shell显示在任务栏中,但在向导后面可以看到Shell窗口
如何解决这个问题?我可以假设,这种行为的原因是
WizardDialog
类只有构造函数提供Shell
,它最终(在Dialog
类中)使用SameShellProvider
作为Shell提供程序。您需要从某个对象继承,在该对象中可以传递您自己的IShellProvider
,例如TrayDialog
(或其他合适的类)。我可以使用以下代码片段解决此问题
向导wiz=new ImportWizard();
WizardDialog=新建WizardDialog(null,wiz);
dialog.create();
dialog.open();
在
WizardDialog
constructor中以Shell
的形式传递null
。我不确定是否理解。向导根本不显示,还是在“开始”/“任务栏”中没有自己的图标?向导确实显示,但现在在任务栏中有图标。