1、拥抱Eclipse RCP
http://www.blogjava.net/youxia/category/17374.html
2、RCP工程下面自动生成了如下文件:
Application.java
ApplicationWorkbenchAdvisor.java
ApplicationWorkbenchWindowAdvisor.java
ApplicationActionBarAdvisor.java
Perspective.java
plugin.xml
(1)Application.java是我们整个程序的入口点,,我们的程序运行的时候,会先执行Application的start方法。
(2)start方法第三行代码:PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());将创建用户界面的工作交给了ApplicationWorkbenchAdvisor类。
(3)ApplicationWorkbenchAdvisor类的工作就是为我们的程序指定默认的透视图。然后把创建窗口的工作交给了ApplicationWorkbenchWindowAdvisor类。
(4)ApplicationWorkbenchWindowAdvisor类功能很强大,我们可以重载它的preWindowCreate、postWindowCreate、preWindowOpen、postWindowOpen等方法,以便修改我们窗口的外观。这个类的另外一个功能,就是把创建菜单和工具栏的任务交给了ApplicationActionBarAdvisor类。
(5)ApplicationActionBarAdvisor类创建菜单和工具栏,这个类有两个重要的方法:
protected void makeActions(IWorkbenchWindow window);
protected void fillMenuBar(IMenuManager menuBar);
在makeActions方法中创建Action,什么是Action呢?Action是jface中的一个概念,在jface中通过org.eclipse.jface.action中的Action和ActionContributionItem类实现了视图和处理代码的分离,这样无论何时用户触发了一个控件的事件,都会激活一个相应的Action类实例来进行时间处理。毫无疑问,我们的菜单项是一个Action类的子类了。