Eclipse plugin EclipseRCP:如何在加载编辑器后显示消息对话框?

Eclipse plugin EclipseRCP:如何在加载编辑器后显示消息对话框?,eclipse-plugin,eclipse-rcp,Eclipse Plugin,Eclipse Rcp,我打开一个编辑器,从一个视图点击树节点。现在,当编辑器加载和控件显示给用户时,我想根据编辑器上的某些值向用户显示一个警告消息对话框 我尝试将警告对话框放在编辑器的createPartControl方法的末尾。对话框出现在根据所需功能双击树节点时。但是,问题是当对话框出现时,编辑器上的控件还不可见。只有当我关闭对话框时,编辑器控件才会显示 我希望事情会反过来发生。i、 e.编辑器控件首先显示,然后出现警告对话框。我应该做哪些更改才能达到这种效果?您可能希望以异步方式调用,以便让编辑器有机会自行完成

我打开一个编辑器,从一个视图点击树节点。现在,当编辑器加载和控件显示给用户时,我想根据编辑器上的某些值向用户显示一个警告消息对话框

我尝试将警告对话框放在编辑器的createPartControl方法的末尾。对话框出现在根据所需功能双击树节点时。但是,问题是当对话框出现时,编辑器上的控件还不可见。只有当我关闭对话框时,编辑器控件才会显示


我希望事情会反过来发生。i、 e.编辑器控件首先显示,然后出现警告对话框。我应该做哪些更改才能达到这种效果?

您可能希望以异步方式调用,以便让编辑器有机会自行完成,如中所述

在asyncExec()runnable中显示警告对话框将确保编辑器的初始化都按正确的顺序进行

因此,类似(未经测试)的代码可能会起到以下作用:

getSite().getShell().getDisplay().asyncExec
    (new Runnable() {
        public void run() {
            MessageDialog.openWarning(getSite().getShell(),"wrong","no)
        }
    });
}
此类中的其他一些示例,其中通过等待结果的asyncExec显示MessageDialog: