1

我有一个扩展 FormDialog 的自定义 JFace 对话框(称为 PropertyDialog)。我想在打开后立即在 PropertryDialog 上打开一个模式消息对话框,向用户显示一条消息。

这怎么可能实现?我必须重写该open()方法吗?请注意,在PropertyDialog.open()按下按钮栏上的按钮之前,它不会返回。

谢谢你的帮助。

4

1 回答 1

3

您可以通过在方法末尾显示消息来做到这一点createContents,如下所示:

  @Override
  protected Control createContents(final Composite parent)
  {
    final Control control = super.createContents(parent);

    parent.getDisplay().asyncExec(new Runnable() {
      public void run()
      {
        MessageDialog.openInformation(getShell(), "title", "message");
      }
    });

    return control;
  }

您需要使用Display.asyncExec以便在显示父对话框之前不显示对话框。

于 2013-09-22T08:40:18.257 回答