我有一个自定义JFace对话框(称为PropertyDialog),它扩展了FormDialog。我想在打开后立即在PropertryDialog上打开一个模态消息对话框,向用户显示一条消息。
如何实现这一目标?我是否必须覆盖open()
方法?请注意,在按钮栏上按下按钮之前,要求PropertyDialog.open()
不会返回。
感谢您的帮助。
答案 0 :(得分: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
,以便在显示父对话框之前不会显示该对话框。