【问题标题】:Eclipse RCP : How to show message dialog after editor loads?Eclipse RCP:编辑器加载后如何显示消息对话框?
【发布时间】:2009-03-10 15:33:30
【问题描述】:

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

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

我希望它反过来发生。即首先显示编辑器控件,然后出现警告对话框。我应该做些什么改变才能达到这个效果?

【问题讨论】:

    标签: eclipse-plugin eclipse-rcp


    【解决方案1】:

    您可能希望以异步方式调用 MessageDialog,让编辑器有机会自行完成,正如 this message 中所建议的那样。

    在可运行的 asyncExec() 中显示警告对话框将确保编辑器的初始化都以正确的顺序发生。

    因此,类似(未测试)此代码可能会起作用:

    getSite().getShell().getDisplay().asyncExec
        (new Runnable() {
            public void run() {
                MessageDialog.openWarning(getSite().getShell(),"wrong","no)
            }
        });
    }
    

    MapEditor 类中的一些其他示例,其中 MessageDialog 通过等待结果的 asyncExec 显示:

    PlatformGIS.syncInDisplayThread

    【讨论】:

      猜你喜欢
      • 2017-12-12
      • 1970-01-01
      • 2019-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 2018-12-16
      相关资源
      最近更新 更多