二、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