我有一个扩展 FormDialog 的自定义 JFace 对话框(称为 PropertyDialog)。我想在打开后立即在 PropertryDialog 上打开一个模式消息对话框,向用户显示一条消息。
这怎么可能实现?我必须重写该open()
方法吗?请注意,在PropertyDialog.open()
按下按钮栏上的按钮之前,它不会返回。
谢谢你的帮助。
我有一个扩展 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
以便在显示父对话框之前不显示对话框。