源参见: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 的实例。
相关推荐
Eclipse Rich Client Platform (Eclipse RCP) 是一个基于Eclipse框架构建跨平台富客户端应用程序的开发平台。Eclipse RCP 利用 Eclipse 的核心组件和技术,如 OSGi 和 Equinox,来构建灵活且可扩展的应用程序。 - *...
【Eclipse插件开发】是IT领域中一个重要的主题,主要涉及如何利用Eclipse平台进行扩展和定制。Eclipse作为一个开放源码的集成开发环境(IDE),提供了丰富的API和工具来帮助开发者创建自定义功能,这通常通过开发...
scratch少儿编程逻辑思维游戏源码-米克 demo.zip
scratch少儿编程逻辑思维游戏源码-萝卜男孩拯救世界.zip
scratch少儿编程逻辑思维游戏源码-酷忍者.zip
教育科技_微信小程序_二手交易平台_大学校园二手书与物品循环利用公益系统_风华读书人校园二手交易平台_基于C2C模式的校内闲置物品交易系统_支持多校区独立运营的二手书交易平台_包含
全新UI彩虹外链网盘系统源码前后端美化模板整站 模版文件.zip
maoxig_nonebot-plugin-ai-timetable_32152_1745865455265
少儿编程scratch项目源代码文件案例素材-足球顶尖高手.zip
少儿编程scratch项目源代码文件案例素材-作战基地.zip
少儿编程scratch项目源代码文件案例素材-云端之上 1-4名玩家.zip
scratch少儿编程逻辑思维游戏源码-魔幻之塔.zip
scratch少儿编程逻辑思维游戏源码-楼层酷跑.zip
scratch少儿编程逻辑思维游戏源码-圈.zip
少儿编程scratch项目源代码文件案例素材-纸片马里奥自定义战役.zip
少儿编程scratch项目源代码文件案例素材-自由下落.zip
少儿编程scratch项目源代码文件案例素材-阻击蜈蚣.zip
健康监测与疾病预防_脉搏波分析_六轴加速度传感器_生理参数融合_STC12硬件采集_Android数据处理_SpringBoot后端_MySQL数据库_MatlabPython实验
音乐流媒体应用开发_基于JetpackCompose的跨平台开发_网易云音乐风格的多终端音乐播放器_包含手机平板电视手表四端适配的现代化音乐播放应用实现音乐发现播放列表管理个性化推