java - 在另一个模态 JFace 对话框之上打开模态 JFace 对话框

标签 java eclipse swt modal-dialog jface

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

这是如何实现的?我是否必须覆盖 open() 方法?请注意,要求 PropertyDialog.open() 在按下按钮栏上的按钮之前不会返回。

感谢您的帮助。

最佳答案

您可以通过在 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 以便在显示父对话框之前不会显示对话框。

关于java - 在另一个模态 JFace 对话框之上打开模态 JFace 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18933142/

相关文章:

java - SWT - 如何在向导中创建两个复合 Material

java - Web 服务和 hibernate - 您如何将这两者结合起来?

java - 如何在java中分离授权服务器spring security

javascript - 如何防止用户更改用户代理

java - 如何摆脱 Eclipse 引用库中的文件夹

java - 具有相同包名称和相同类名称的两个不同的 .jar。如何得到那个?

java - 屏幕关闭/锁定后手机振动停止工作

java - gradle包装器如何使用它的构建文件来保存安装gradle的表单?

java - 将图像复制到剪贴板在 Linux 上不起作用(Java AWT 和 SWT)

swt - 无需滚动即可填充 Eclipse RCP 编辑器的可见区域