swt 的事件结构采用的是观察者设计模式, Listner和Event,任何控件需要需要响应事件时,只要添加一个Listner就可以了。SWT的菜单是 Menu和MenuItem组成。
而JFace 是采用的Action和Contribution,分别对应的对象是 Action, MenuManager,ToolBarManager等。这种方式是在SWT事件基础上的进一步解耦,使得Contribution可以对应不同的Action。
在Eclipse插件体系结构中,Action变成了可配置的东西。将Action 解耦成显示与实现。显示,是通过在plugin.xml文件中添加对Action的描述信息,Eclipse就会将这些描述信息转化为一个Action对象,叫做WWinPluginAction。但是在plugin.xml中并没有定义Action的run的具体实现,而有一个class属性指向了一个具有run的代理类,这个代理类实现了接口IActionDelegate,它负责Action动作的实现。
Eclipse 事件体系结构
最新推荐文章于 2024-07-22 14:15:06 发布