二、RCP工程下面自動生成了以下文件:
Application.java
ApplicationWorkbenchAdvisor.java
ApplicationWorkbenchWindowAdvisor.java
ApplicationActionBarAdvisor.java
Perspective.java
plugin.xmlhtml
(1)Application.java是咱們整個程序的入口點,,咱們的程序運行的時候,會先執行Application的start方法。java
(2)start方法第三行代碼:PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());將建立用戶界面的工做交給了ApplicationWorkbenchAdvisor類。eclipse
(3)ApplicationWorkbenchAdvisor類的工做就是爲咱們的程序指定默認的透視圖。而後把建立窗口的工做交給了ApplicationWorkbenchWindowAdvisor類。工具
(4)ApplicationWorkbenchWindowAdvisor類功能很強大,咱們能夠重載它的preWindowCreate、postWindowCreate、preWindowOpen、postWindowOpen等方法,以便修改咱們窗口的外觀。這個類的另一個功能,就是把建立菜單和工具欄的任務交給了ApplicationActionBarAdvisor類。post
(5)ApplicationActionBarAdvisor類建立菜單和工具欄,這個類有兩個重要的方法:
protected void makeActions(IWorkbenchWindow window);
protected void fillMenuBar(IMenuManager menuBar);spa
在makeActions方法中建立Action,什麼是Action呢?Action是jface中的一個概念,在jface中經過org.eclipse.jface.action中的Action和ActionContributionItem類實現了視圖和處理代碼的分離,這樣不管什麼時候用戶觸發了一個控件的事件,都會激活一個相應的Action類實例來進行時間處理。毫無疑問,咱們的菜單項是一個Action類的子類了。.net