快速业务通道

将基于Swing的开发工具插入Eclipse中 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
h 中的 Java 文件内时,调用方法 elementChanged(ElementChangedEvent) 。

您需要有选择地过滤出那些不涉及 Ed 插件的 IElement 更改。一种过滤方式是从 IElementChangedEvent 参数中抽取 IJavaElementDelta 对象并对其进行检查。例如,下面的语句过滤 Ed 插件情况下不相关的源代码更改。

清单 4. 过滤不相关的源代码更改

IJavaElementDelta delta = event.getDelta(); if (delta != null) {   if(delta.getElement().getElementName().equalsIgnoreCase("ThirdParty.java")) {     //code to update Ed''s editor panel.   } }

对于非 Java 构件的编辑器,IElementChangedListener 不能捕获在 Workbench 中所作的更改。Eclipse Platform 提供接口 org.eclipse.core.resources.IResourceChangeListener 来处理对非 Java 资源所作的更改。

首选项页面

要为用户提供丰富的、易于使用的功能,工具应该提供可以通过启动参数访问的、或者可以通过 GUI(它不是编辑器的核心图形界面的一部分)访问的可配置的选项。在用于 Eclipse Platform 的插件的情况中,强烈推荐通过 Platform 的 Preference Page 框架(Window -> Preferences)对这些选项进行配置。

为了举例起见,我们将 Ed 的颜色作为一个使用 Platform 首选项页面的可配置的选项来控制。

在插件清单文件中添加一个首选项页面扩展点

在 Eclipse Platform 中,首选项页面被定义为一个扩展点。要使用它,请将它添加到插件清单文件编辑器中,或者将下列代码放入 plugin.xml 中:

清单 5. 将首选项页面添加到 plugin.xml

<extension   id="org.eclipse.jumpstart.editorintegration.pref"   name="Ed Preference"   point="org.eclipse.ui.preferencePages"> <page   name="Swing Editor Preference Page"   class="org.eclipse.jumpstart.editorintegration.EdPreferencePage1"   id="Swing Editor Preference Page" </page> </extension>

将基于Swing的开发工具插入Eclipse中(5)

时间:2011-03-23 IBM Terry Chan

首选项页面类

首选项页面继承了 org.eclipse.jface.preference.PreferencePage 。在这个示例中,简单的首选项页面由三个最大值为 255 的滑动条(slider bar)组成,表示 Ed 的 java.awt.Color 对象的颜色(红、绿和蓝)。

在插件项目中创建清单文件中指定的类 org.eclipse.jumpstart.editorintegration.EdPreferencePage1 。这个类必须继承 org.eclipse.jface.preference.PreferencePage 并实现接口 org.eclipse.ui.IWorkbenchPreferencePage 。

首选项页面呈现出与编辑器启动程序类似的编码问题:JFace/SWT 将如何与 Swing 通信?幸运的是,同样的方式适用。例如, performApply() 方法可能看上去像这样:

清单 6. performApply() 方法

protected void performApply() {   int red = redSWTSlider.getSelection();   int green = greenSWTSlider.getSelection();   int blue = blueSWTSlider.getSelection();   java.awt.Color newColor = new java.awt.Color(red, green, blue);   EditorintegrationPlugin.getDefault().getEd().getContentPane().setBackground(     newColor); }

插件应该使用 Platform 的 Preference Store 机制存储已配置的值,任何其他的插件也应该这么做。 performOk() 方法可能看上去像这样:

清单 7. performOk() 方法

public boolean performOk() {   getPreferenceStore().setValue("redValue", redSWTSlider.getSelection();   getPreferenceStore().setValue("greenValue",

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号