分为主动式和监听式
1.主动式
其本质 被动方不作改变,主动方通过 getViewSite().getPage().findView(VIEW_ID)找到要更新内容的view,然后对其做出相应的改变;
2.监听式
主动方在createPartControl(Composite parent)方法里加上getSite.setSelectionProvider(ISelectionProvider selectionProvider),
被动方中的view加入监听器,通常把它放在createPartControl(Composite parent)方法里。
getSite().getPage().addPartListener(partListener);
像在eclipse 中属性视图并不直接感知可能被选择中的每个对象,实际上,该视图与内部情况无关,它仅监听活动的Workbench部分的中被选中的部分中的内容。如果被选择中的内容实现了或可以适配于IPropertySource接口,那么属性就会请求该对象(其本质 就是监听式)。
同时像按钮,combo,text也可被监听,只不过要把其对象包装成ISelection对象就可以了,然后再把它压入selectionProvider,而像tableviewer,treeviewer其对象并不是ISelection对象,其内部肯定有这个适配包装的过程的。
setSelection(new StructuredSelection(element), true);
取得时侯,如下代码,相当于一个解析的过程,所以从另一个方面证明了把orignal对象压入tableviewer,treeviewer等中,其内必有一个包装适配的过程。但是源代码我没有完全看到,希望哪位看到通知我一下,谢谢了
IStructuredSelection selection =
(IStructuredSelection) event.getSelection();
Object obj = selection.getFirstElement();
相关网站:http://www.blogjava.net/chengang
常见问题解答:http://www.blogjava.net/chengang/archive/2006/04/24/42868.html
随书光盘的代码下载:http://glchengang.gbaopan.com/
分享到:
相关推荐
"java swt eclipse视图插件"可能指的是利用SWT技术开发的Eclipse视图插件,这种插件能够增强Eclipse的工作区视图,提供新的功能或优化现有功能的显示方式。 "SWT_Designer_for_Eclipse"很可能是一个工具,帮助...
SWT(Standard Widget Toolkit)是一种轻量级的图形组件库,它为Eclipse插件提供了一套丰富的GUI组件,而JFace是建立在SWT之上的一个更高层次的框架,它提供了很多额外的功能,如视图、向导、首选项和对话框等。...
服务层是Eclipse提供的低级API,允许插件之间以及插件和Eclipse平台之间的通信。而命令框架则为插件提供了集成菜单、工具栏和其他UI元素的机制,使得插件可以将其功能与Eclipse的用户界面无缝集成。 Eclipse插件...
5. 事件监听:Eclipse使用事件模型进行通信,`IEventBroker`接口提供了发布和订阅事件的能力。 四、插件部署 Eclipse插件通常打包为`.jar`或`.plug-in`格式,然后放入Eclipse的`plugins`目录下。也可以打包为`....
10. **事件机制**:`org.eclipse.core.events`和`org.eclipse.core.runtime.jobs`包提供了事件和作业调度机制,使得插件之间可以异步通信和协调。 通过深入学习和理解这些知识点,开发者可以熟练地利用Eclipse API...
1. **Eclipse插件体系结构**:Eclipse采用OSGi(Open Services Gateway Initiative)框架作为其基础,使得插件之间可以互相依赖和通信。理解OSGi的基本概念,如模块化、服务注册和发现机制,是插件开发的基础。 2. ...
5. 使用SVN功能:一旦检出成功,你就可以在Eclipse的版本控制视图中看到项目的状态,进行提交、更新、差异查看等操作。 6. 配置SVN客户端:`subversion1.1.9`可能指的是SVN的独立客户端,如果插件需要与特定版本的...
3. **服务和事件模型**:了解如何使用Eclipse的服务和事件模型进行组件间的通信。 总之,"eclipse 插件 实例01"是一个实践性的项目,可以帮助你掌握Eclipse RCP插件开发的基本流程和关键技术。通过深入研究源代码,...
书中还会涉及如何设计和组织插件结构,以及如何利用Eclipse的模型和事件机制实现组件间的通信和协作。 通过阅读《Eclipse插件开发(第3版 - 高清)》,开发者不仅可以掌握Eclipse插件开发的基本技能,还能了解到...
4. **模型(Model)**:Eclipse RCP采用MVC(Model-View-Controller)设计模式,模型负责数据的存储和处理,视图负责显示,控制器负责两者间的交互。 **二、Eclipse RCP开发流程** 1. **环境搭建**:首先,你需要...
对于多线程程序,Eclipse的线程视图可以帮助开发者跟踪和理解并发行为。 Eclipse还支持插件扩展,例如,对于Web开发,可以安装Spring Tool Suite(STS)插件来方便地管理和调试Spring框架的应用。对于Android开发,...
7. **服务(Service)**:Eclipse RCP支持服务导向的架构,通过服务,组件之间可以进行通信。学习如何使用和提供服务对于理解应用程序的交互至关重要。 8. **模型与数据绑定**:Eclipse RCP提供了数据绑定机制,...
随着对Eclipse插件开发的深入了解,开发者会遇到更多高级主题,如插件间的通信、插件性能优化、国际化支持等。 **3.1 插件间通信** 插件之间可以通过服务注册和查找机制进行通信。Eclipse的服务框架基于OSGi,插件...
每个插件都有自己的生命周期、依赖关系,并通过API与其他插件通信。核心插件提供基础功能,如编辑器、运行时环境等,而第三方插件则可以扩展这些功能,如支持其他编程语言、版本控制工具等。 二、开发环境搭建 要...
插件间的通信就是通过扩展点来完成的,一个插件声明扩展点,其他插件实现这个扩展点,形成依赖关系。 开发Eclipse插件的基本步骤包括:确定插件与平台的集成方式、定义所需的扩展点、实现扩展点功能、编写plugin....
Eclipse提供了一些内置的插件开发工具,如PDE(Plug-in Development Environment),用于创建、编辑和管理插件项目,以及透视图和视图的开发。 8. **命令框架**: Eclipse的命令框架允许开发者定义可执行的动作,...
8. **事件机制**:讲解Eclipse RCP中的事件订阅和发布机制,以及如何利用事件来协调组件间的通信。 9. **插件开发**:RCP的核心是插件,书中会详细介绍插件的生命周期、依赖关系,以及如何编写和调试插件。 10. **...
8. **服务(Services)**:Eclipse通过服务架构提供插件间的通信,如工作流服务、资源管理服务等。开发者可以通过服务定位并使用其他插件的功能。 9. **RCP(Rich Client Platform)**:Eclipse不仅是一个IDE,还是...
通过阅读和分析这些代码,开发者可以更好地掌握如何在自己的Eclipse插件中使用适配器来实现对象间的通信。 总之,Eclipse Adapter源码对于理解Eclipse插件开发中的对象通信机制至关重要。适配器模式的应用不仅限于...