RCP啓動順序

在一般的 RCP 應用中,經常要在 Eclipse RCP 的工作臺界面出現前,彈出自己的對話框,例如登陸校驗框。一般的做法是在 Application.run(Object args) 中,在構造工作臺之前啓動自己的對話框,這樣做的壞處就是 RCP 的工作臺沒有啓動,與工作臺相關的數據,參數沒有被初始化。如果在對話框中用到這些數據,就會出現問題。

以下是 eclipse RCP 工作臺啓動和退出時的方法調用順序:

啓動順序

WorkbenchAdvisor.preStartup
WorkbenchAdvisor.openWindows
WorkbenchAdvisor.createWorkbenchWindowAdvisor 
WorkbenchWindowAdvisor.preWindowOpen
WorkbenchWindowAdvisor.createActionBarAdvisor
WorkbenchWindowAdvisor.postWindowCreate
WorkbenchWindowAdvisor.postWindowOpen
WorkbenchAdvisor.postStartup

關閉順序

WorkbenchWindowAdvisor.preWindowShellClose
WorkbenchAdvisor.preShutdown
WorkbenchWindowAdvisor.postWindowClose
WorkbenchAdvisor.postShutdown 

在關閉工作臺的時候,如果是點擊 “ 退出 ” 菜單,而不是點擊右上角的 “X” , 則不會執行 步驟 1 。
重寫 WorkbenchWindowAdvisor.public void postWindowCreate(), 該方法定義了在整個 Window 被創建好,但是還沒有打開前執行的操作,要打開的對話框放在這裏是最合適的。問題是要自己關閉 splash ,執行 Platform.endSplash(); 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章