分享

Eclipse RCP 工作台生命周期(启动关闭顺序)

 桑枯海 2012-03-18
Eclipse RCP 工作台生命周期(启动关闭顺序)
2010-05-31 8:55

在一般的RCP应用中,经常要在EclipseRCP的工作台界面出现前,弹出自己的对话框,例如登陆校验框。一般的做法是在 Application.run(Objectargs)中,在构造工作台之前启动自己的对话框,这样做的坏处就是RCP的工作台没有启动,与工作台相关 的数据,参数没有被初始化。如果在对话框中用到这些数据,就会出现问题。

以下是RCP工作台启动和退出时的方法调用顺序:

启动顺序

1. WorkbenchAdvisor.initialize
    在打开每个窗口时调用该方法。
2. WorkbenchAdvisor.preStartup
    其次执行的就是这个方法,但它的调用是在第一个窗口打开之前。在启动或者恢复期间暂时禁用某些项时,该方法非常有用。
3. WorkbenchAdvisor.openWindows
4. WorkbenchAdvisor.createWorkbenchWindowAdvisor
5. WorkbenchWindowAdvisor.preWindowOpen
    在打开每个窗口时调用该方法。
6. WorkbenchWindowAdvisor.createActionBarAdvisor
7. WorkbenchWindowAdvisor.postWindowCreate
8. WorkbenchWindowAdvisor.postWindowOpen
    在已经打开一个窗口之后调用该方法,可以使用该方法注册任何窗口监听器。
9. WorkbenchAdvisor.postStartup
    对该方法的调用是执行的第三个操作,它的调用是在第一个窗口打开之后,可以用该方法重新启用 preStartup 方法中临时禁用的项。

关闭顺序

1. WorkbenchWindowAdvisor.preWindowShellClose
    在用户关闭窗口外壳时调用该方法。
2. WorkbenchAdvisor.preShutdown
    该方法的调用是在事件循环已经终止,任何窗口尚未关闭之前。
3. WorkbenchWindowAdvisor.postWindowClose
4. WorkbenchAdvisor.postShutdown
    这是最后一个方法,它在事件循环终止之后被调用。

在关闭工作台的时候,如果是点击“退出”菜单,而不是点击右上角的"X",则不会执行步骤9。

重写WorkbenchWindowAdvisor.publicvoidpostWindowCreate(),该方法定义了在整个Window被创建好,但是还没有打开前执行的操作,要打开的对话框放在这里是最合适的。

问题是要自己关闭splash,执行Platform.endSplash();。

WorkbenchAdvisor 类还包含下列方法:

1. WorkbenchAdvisor.fillActionBars
    在调用 preWindowOpen 方法之后调用该方法,可以使用它配置窗口的动作栏。
2. WorkbenchAdvisor.postWindowRestore
    在根据以前保存的状态重新创建窗口之后调用该方法。
3. WorkbenchAdvisor.eventLoopException
    可以调用该方法处理事件循环崩溃的异常。
4. WorkbenchAdvisor.eventLoopIdle
    在没有更多的事件需要处理的时候调用该方法。

以上文章来自http://www./article.asp?id=42

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多