在Eclipse RCP Workbench 启动前弹出自定义对话框

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

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

启动顺序

1 : WorkbenchAdvisor.preStartup
2 : WorkbenchAdvisor.openWindows
3 : WorkbenchAdvisor.createWorkbenchWindowAdvisor
4 : WorkbenchWindowAdvisor.preWindowOpen
5 : WorkbenchWindowAdvisor.createActionBarAdvisor
6 : WorkbenchWindowAdvisor.postWindowCreate
7 : WorkbenchWindowAdvisor.postWindowOpen
8 : WorkbenchAdvisor.postStartup

关闭顺序

9 : WorkbenchWindowAdvisor.preWindowShellClose
10 : WorkbenchAdvisor.preShutdown
11 : WorkbenchWindowAdvisor.postWindowClose
12 : WorkbenchAdvisor.postShutdown 

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

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

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

 几天以后的补充: 以上的用法在实际中会碰到一些小麻烦,需要你发挥你的聪明才智变通一下.具体做法不再赘述.反正很简单.

 

你可能感兴趣的:(eclipse,工作,object)