Application实现IApplication接口,为整个应用程序的入口执行点(即当系统启动时,将先运行该类)。
用法:
1.在扩展点配置文件中(plugin.xml)注册application:
<extension
id="application"
point="org.eclipse.core.runtime.applications">
<application>
<run
class="cn.com.chengang.sms.Application">
</run>
</application>
</extension>
2.实现自己的IApplication子类(该类一般由Eclipse工具生成,一般不做修改)。
类详细解析:
method 一:
public Object start(IApplicationContext context) throws Exception
该方法以给定的context(代表应用程序上下文)启动Application应用程序并返回一个对象。这个方法的周期占据整个应用程序始末;直到程序不再执行并准备退出应用程序才会结束。
返回值:可以是任何类型的对象。当返回是整数的时候,代表的是程序正在执行退出操作(包括退出,重启等);
注意:该方法是由平台调用的,非用户调用。
method 二:
public void stop()
该方法代表的是强制退出应用程序。也就是说,当应用程序正常运行时,该方法不会被平台调用。
那么解析了该类之后,该类到底有什么作用?
那么这里不得不再谈到一个类:PlatformUI,顾名思义为平台用户界面,是一个访问eclipse平台的中央控制类。它的主要作用是创建和访问工作台。
应用程序在run方法里面创建并运行一个工作台。
代码:
public Object start(IApplicationContext context) throws Exception {
Display display = PlatformUI.createDisplay();
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART)
return IApplication.EXIT_RESTART;
else
return IApplication.EXIT_OK;
} finally {
display.dispose();
}
}
以上纯属个人理解!