源参见:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-rcpclass/
BusyIndicator:
任务执行时鼠标显漏斗状,标识主线程忙碌,实际任务在另一线程执行。如下:
button.setText("Running...");//开始执行,设置一个标识
BusyIndicator.showWhile(button.getDisplay(), new MyThread(5000));
button.setText("BusyIndicator");//执行完成。
RCP程序的首选项(preferencePage)
增加扩展点<extension point="org.eclipse.ui.preferencePages">…
指定扩展项的class,在class中布局页面(继承自WorkbenchPreferencePage)
指定入口动作,菜单入口及Action:
preferenceAction = ActionFactory.PREFERENCES.create(window);
register(preferenceAction);
通过Window->Preferences 菜单打开。
(不扩展该扩展点也可,但是页面类还是需要继承WorkbenchPreferencePage,可以通过扩展命令command的方式,org.eclipse.ui.internal.handlers.ShowPreferencePageHandler,其内部也是用了PreferencesUtil.createPreferenceDialogOn(…)的方式打开,如下)。
PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(shell, preferencePageId, null, null);
dialog.open();
另外还有:PreferencesUtil .createPropertyDialogOn(Shell shell,final Object element, String propertyPageId, String[] displayedIds,Object data, int options).
IDialogSettings:
该接口提供了键值对的存储机制,键必须是字符串,值则可以是字符串或者字符串数组。
• 作用
– 为对话框设置提供持久化功能
• 用法
– 创建DialogSettings实例,或获取系统已有实例
– 用put方法将需要保存的内容以键值对的方式保存到DialogSettings实例中,用get方法可读取。
– 用save和load将DialogSettings实例中内容保存到xml文件中
创建自己的实例
IDialogSettings ds = new DialogSettings("myds");
String fileName = "c:/save.xml";
ds.put("iduc", id.getValue());
ds.save(fileName);
……
ds.load(fileName);
String key = ds.get(key);
创建的文件格式:
<?xml version="1.0" encoding="UTF-8"?>
<section name="myds">
<item key="iduc" value="11"/>
</section>
使用系统的实例:
IDialogSettings dlgSet = Activator.getDefault().getDialogSettings();
……
使用该语句,eclipse系统自动管理xml文件的加载与保存。
使用系统的对话框设置注意:
我们设置的对话框的内容保存在每个插件的对话框设置xml中,请参照PDE的对话框设置:E:\workspace\.metadata\.plugins\org.eclipse.pde.ui
我们可以将对话框的属性直接写到workbench这个section下,但为了防止属性名称冲突,请用dlgSet.addNewSection()添加自己的Section。
FileLocator:文件定位
它根据插件唯一标识,找到插件,new Path()是资源在插件中的相对位置,如下
URL location = FileLocator.find(Platform.getBundle("eclipse_system_class"), new Path("fileLocator.properties"), null);
InputStream is = location.openStream();
PropertyResourceBundle bundle = new PropertyResourceBundle(is);
……
IWorkbenchHelpSystem:
在了解 WorkbenchHelp 之前,读者需要了解 Eclipse 中的帮助扩张点,这个扩张点的目的是为开发者提供自定义帮助内容的方法,该扩展点的具体使用方法可以查看 Eclipse 官方开发文档。WorkbenchHelp 类提供了快捷的 API,用以设置、显示、获得帮助扩展点的帮助。
WorkbenchHelp.displayHelp("eclipse_system_class.contexthelp");
为组件设置帮助
Composite com = new Composite(parent, SWT.NONE);
WorkbenchHelp.setHelp(com, "eclipse_system_class.contexthelp");
...
它的第二个参数值 eclipse_system_class.contexthelp 中的 contexthelp,是附件程序扩展 org.eclipse.help.contexts 扩展点定义的 context 的 id,eclipse_system_class 则为附件程序的插件 ID
其实workbenchHelp已经不推荐使用了,使用下面的代替。
PlatformUI.getWorkbench().getHelpSystem().displayHelp("eclipse_system_class.contexthelp");
MessageDialogWithToggle 的用法
MessageDialogWithToggle 是一个带有 CheckBox 的提示对话框,MessageDialogWithToggle 不仅保存了用户点击的按钮信息,还保存了用户是否选中了 ChekBox。MessageDialogWithToggle 在 Eclipse 中的使用例子很多,比如关闭 Eclipse 时,会弹出是否保存工程的对话框。该对话框就是 MessageDialogWithToggle 的实例。
相关推荐
11. **实战项目**:书中很可能会包含一个或多个实际项目案例,引导读者一步步实现一个完整的Eclipse RCP应用,从而将理论知识转化为实践技能。 通过阅读这本书,开发者可以掌握Eclipse RCP的开发技巧,理解其设计...
Eclipse的RCP(Rich Client Platform)开发是一个强大的框架,用于构建复杂的桌面应用程序。这个入门教程集合了多个文档,涵盖了从基础到高级的各种主题,帮助开发者深入理解和掌握Eclipse RCP。 首先,"使用RCP...
### Eclipse 3.6 RCP 开发知识点概览 #### 1. 富客户端平台 (RCP) 概述 **1.1 概述** - **定义**: Eclipse Rich Client Platform (RCP) 是一种基于Java的技术框架,用于构建可扩展的桌面应用程序。 - **特点**: ...
每个插件都有一个唯一的标识符(ID),这是它在 Eclipse RCP 系统中身份的象征,用于其他插件引用或扩展该插件。 **4. Actions 的用法(菜单和工具栏)** 4.1. 概述 在 RCP 应用中,Actions 是实现用户交互的核心...
2. **插件系统**:Eclipse RCP的核心是插件,每个插件都包含一组相关的类和资源,它们通过API进行交互。插件之间通过声明依赖关系来保证加载顺序和功能集成。 3. **工作台(Workbench)**:Eclipse RCP的工作台是...
### Eclipse RCP 插件开发指南 #### Eclipse RCP Plugin 开发快速入门 Eclipse RCP(Rich Client Platform)插件开发是构建基于Eclipse框架的应用程序的核心技术之一。本指南旨在帮助开发者从零开始掌握Eclipse ...
在《Eclipse4-RCP 开发教程》中,你将学习如何设置Eclipse 4 RCP开发环境,创建第一个E4应用程序,以及如何构建和运行。教程会涵盖以下关键知识点: 1. **创建E4 Application Model**:了解如何使用e4.xmi文件定义...
通过这个压缩包中的教程和源代码,开发者不仅可以学习到Eclipse RCP的基本概念,还能掌握实际的开发技巧,从而构建出功能完善的桌面应用程序。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。
非常好的一本JAVA RCP入门实战的书,兼顾理论和实战。
通过以上介绍,我们可以看到Eclipse RCP是一个非常强大且灵活的框架,它不仅能够加速桌面应用程序的开发,还能让开发者专注于业务逻辑而不是繁琐的界面设计。对于希望利用Eclipse平台构建复杂应用的开发者来说,掌握...
Eclipse RCP 开发资料打包下载 目录如下: RCP程序设计.pdf(推荐) Addison.Wesley.Eclipse.Rich.Client.Platform.Designing.Coding.and.Packaging.Java.Applications.Oct.2005.chm Eclipse+RCP入门.pdf example_...
在"**Eclipse RCP开发详解**"中,我们将深入探讨这个主题,帮助你快速掌握Eclipse RCP插件的开发。 首先,了解Eclipse RCP的基础架构是至关重要的。Eclipse RCP由多个组件构成,包括Workbench、Perspective、View、...
### 通过例子学习Eclipse RCP开发 #### Eclipse RCP概览 Eclipse RCP(Rich Client Platform,富客户端平台)是一种基于Java的框架和技术集合,用于构建具有丰富用户界面的应用程序。它允许开发者创建高度可定制且...
RCP插件式开发方式可以重用eclipse中的方法和编码模式,提高开发效率和代码复用率。然而,Eclipse RCP的学习曲线可能较陡,需要一定的Java基础和Eclipse基础知识。 本教程旨在帮助读者自学Eclipse RCP插件式开发,...
虽然SWT/JFace开发基础知识是可选的,但是这些是Eclipse RCP开发中常用的图形用户界面技术,熟悉它们会对开发有所帮助。 Eclipse RCP应用的开发过程需要利用Eclipse插件开发工具PDE(Plug-in Development ...
网络中最全面最合适学习或开发...包含eclipse rcp开发入门教程; eclipse rcp基础教程;eclipse rcp开发自学教程; eclipse rcp开发培训教程及ppt等相关资料;教程中包含一步步操作实例,包含对开发原理的讲解与说明;
本篇文章将详细介绍如何利用Eclipse RCP开发一个简单的MySQL客户端工具,这对于想要深入理解Eclipse RCP框架以及插件开发的开发者来说是非常有帮助的。 首先,我们需要了解Eclipse RCP的基础。Eclipse RCP的核心...
在Eclipse RCP开发中,你需要了解以下关键知识点: 1. **MVC模式**:Eclipse RCP遵循Model-View-Controller设计模式,这有助于分离业务逻辑、用户界面和数据展示。 2. **Plug-in体系结构**:Eclipse RCP基于插件...