http://www.ibm.com/developerworks/cn/opensource/os-ecllink/
1:IPartListener 对每个part的监听,如:关闭、隐藏。。。等。 所以 每个part的状态你的可以检测到。
很有用的:
1:你可以在每个窗口关闭后,删除 对应工具栏 ,打开时 在添加对应工具栏。
2: 在每个窗口关闭后,另外窗口作出相应变化。
注册方式: this.getSite().getPage().addPartListener(listener)
2:ISelectionListener 这个与ISelectionProvider 配合使用,对选择的内容进行实时监听。
注册监听:this.getSite().getPage().addSelectionListener(listener)
注册选择提供者:this.getSite().setSelectionProvider(provider)
- 在RCP编程时,我们经常要取得IWorkbenchPage,如果是从视图中得到,可以用下面的方法:
在RCP编程时,我们经常要取得IWorkbenchPage,如果是从视图中得到,可以用下面的方法:
- IWorkbenchPage workbenchPage = getViewSite().getPage();
IWorkbenchPage workbenchPage = getViewSite().getPage();
- 有时不是从视图,而是要从外部取得IWorkbenchPage,例如从菜单或者工具栏等,这时,可以使用下面的方法:
有时不是从视图,而是要从外部取得IWorkbenchPage,例如从菜单或者工具栏等,这时,可以使用下面的方法:
- IWorkbenchPage workbenchPage = Plugin.getDefault().getWorkbench().
- getActiveWorkbenchWindow().getActivePage();
IWorkbenchPage workbenchPage = Plugin.getDefault().getWorkbench(). getActiveWorkbenchWindow().getActivePage();
- 其中的Plugin是你的RCP最初建立时一般由Eclipse生成的,其父类为AbstractUIPlugin,当然,你也可以自己写。
- 一般申明为:
其中的Plugin是你的RCP最初建立时一般由Eclipse生成的,其父类为AbstractUIPlugin,当然,你也可以自己写。 一般申明为:
/* The activator class controls the plug-in life cycle */
- public class AuditPlugin extends AbstractUIPlugin {
public class AuditPlugin extends AbstractUIPlugin {
还有一种方法也可以得到:
- IWorkbenchPage workbenchPage = PlatformUI.getWorkbench().
- etActiveWorkbenchWindow().getActivePage();
IWorkbenchPage workbenchPage = PlatformUI.getWorkbench(). getActiveWorkbenchWindow().getActivePage();
在程序中的实例: //得到IworkbenchPage对象,找到com.raul.views.ShootViewPart这个视图,然后执行视图里面的射门方法
- update.addSelectionListener(new SelectionAdapter() {
-
public void widgetSelected(SelectionEvent e) {
- IWorkbenchPage workbenchPage = Activator.getDefault().
- getWorkbench().getActiveWorkbenchWindow().getActivePage();
- ShootViewPart shootView = (ShootViewPart)
-
workbenchPage.findView("com.raul.views.ShootViewPart");
- shootView.shoot(); } });
update.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IWorkbenchPage workbenchPage = Activator.getDefault(). getWorkbench().getActiveWorkbenchWindow().getActivePage(); ShootViewPart shootView = (ShootViewPart) workbenchPage.findView("com.raul.views.ShootViewPart"); shootView.shoot(); } });
- 有的时候,我们需要获取目标视图中当前选择的元素,可以直接这样做:
有的时候,我们需要获取目标视图中当前选择的元素,可以直接这样做:
- IViewPart viewPart = AuditPlugin.getDefault().getWorkbench() .getActiveWorkbenchWindow().
-
getActivePage().findView("org.eclipse.ui.navigator.ProjectExplorer");
- StructuredSelection sl = (StructuredSelection) viewPart.getSite().getSelectionProvider().
- getSelection(); Object obj = sl.getFirstElement();
IViewPart viewPart = AuditPlugin.getDefault().getWorkbench() .getActiveWorkbenchWindow(). getActivePage().findView("org.eclipse.ui.navigator.ProjectExplorer"); StructuredSelection sl = (StructuredSelection) viewPart.getSite().getSelectionProvider(). getSelection(); Object obj = sl.getFirstElement();
分享到:
相关推荐
"rcp_birthday"这个文件名可能是项目中某个模块或者组件的名称,"rcp"可能是"Rich Client Platform"的缩写,虽然在Android中不常用,但可能表示这是一个具有丰富用户界面的部分。"birthday"则直接对应了应用的主题,...
Eclipse作为常用的Java开发环境,它的基础是富客户端平台RCP,包括核心平台、OSGi、SWT和JFace组件。SWT是Eclipse的图形界面库,性能优于Java的AWT和Swing,JFace则简化了UI构建。Eclipse的插件机制非常灵活,允许...
3.3 常用的代码编辑功能 28 3.3.1 添加注释 28 3.3.2 自定义格式化代码 28 3.3.3 自动生成getter和setter代码 30 3.3.4 代码的重构 31 3.3.5 查看源代码 31 3.3.6 代码的展开和折叠 32 3.3.7 代码比较...
3. **Eclipse RCP开发**:Eclipse Rich Client Platform(RCP)是一个基于OSGi的应用开发框架,适用于开发桌面应用。 4. **企业应用案例**:OSGi常用于企业应用服务器(如Apache Karaf)和嵌入式系统,如路由器、...
- **胖客户端(RCP)**:需要在计算机上安装程序才能运行,如桌面应用程序。优点是可以高效使用软件功能,但缺点是需要安装且不易跨平台使用。 - **瘦客户端(TCP)**:不需要在客户端安装程序,只要有浏览器就能使用...
“pdf、pdg格式文件如何打开说明.txt”则指导你如何处理不同格式的电子文档,PDF是通用的文档格式,而PDG是中国早期扫描图书常用的格式,需要专门的阅读软件。 总的来说,Eclipse插件开发是一个涉及OSGi、Java编程...
6. **Event handling**:SWT提供了丰富的事件处理机制,开发者需要编写监听器来响应用户的操作,如点击按钮、选择菜单项等。 7. ** SWT/AWT Bridge**:在某些情况下,开发者可能需要将SWT组件与Java标准GUI库AWT...
Java SWT (Standard Widget Toolkit) 和 JFace 是两个用于构建图形用户界面(GUI)的库,它们都是Java编程语言的一部分,特别是在开发桌面应用程序时非常常用。本教程配套源码是为"可视化JAVA SWT JFACE GUI程序设计...
- **灵活的绘图机制**:Draw2d支持绘制各种形状,包括矩形、圆形、多边形等,并且可以通过自定义实现更为复杂的图形。 - **动态布局管理**:Draw2d中的布局策略非常灵活,可以根据需要动态调整图形的位置和大小。 - ...
资料介绍了FTP远程文件传输、Telnet远程登录、R-系列命令(如`rcp`、`rlogin`)的使用方法,这些都是进行远程管理和数据交换的基础。 ### 常用使用技巧 #### 软件包的安装与卸载 资料详细讲解了RPM包管理工具的...
`scp`命令使用与SSH相同的加密和认证机制,确保数据在传输过程中的安全性。与`rcp`不同,当需要身份验证时,`scp`会提示用户输入密码或密钥,增强了安全性。 ### 总结 `scp`命令是Linux系统中进行安全文件传输的...
- **Rich Client Platform (RCP)**:用于构建富客户端应用程序。 ##### 1.4.3 Web 层组件 Web 层组件主要包括: - **Servlets**:用于处理 HTTP 请求和响应。 - **JSP**:用于动态生成 HTML 内容。 - **JSF**:一...