Eclipse插件的无边框对话框

时间:2013-12-11 23:59:10

标签: eclipse eclipse-plugin eclipse-rcp

我正在尝试创建一个没有边框的对话框;也就是说,没有标题,没有关闭,最小化和最大化按钮。它的目的是表明插件正在等待某事。

有关如何开发无国界对话的任何建议?或者更好的方法是在不使用对话框的情况下完成它?

1 个答案:

答案 0 :(得分:0)

您可以通过创建新的Shell来保持对话框内容,从而实现您的目标。然后根据需要设计样式。例如,如果您使用以下常量之一,则不会获得标题栏:SWT.RESIZE, SWT.APPLICATION_MODAL, SWT.PRIMARY_MODAL, SWT.NO_TRIM。例如:

Shell shell = new Shell(display, SWT.NO_TRIM);
shell.setLayout(new FillLayout());
Composite c = new Composite(shell, SWT.NONE);
// add contents
shell.open();
// do something else
shell.close();

如果您希望始终保持对话,则可以使用SWT.NO_TRIM | SWT.ON_TOP组合。

也可以覆盖setShellStyle(int style)中的Dialog方法(如果您使用的话),并设置上述样式常量之一。在这种情况下,您可能还需要覆盖createButton(Composite parent, int id, String label, boolean defaultButton)方法来消除按钮(通过返回null)。