网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  关于eclipse工作台中的preference     
  文章作者:未知  文章来源:水木森林  
  查看:96次  录入:管理员--2007-11-17  
 
  eclipse平台支持preference,preference伴随着工作空间出现。这篇文章将讨论preference的数据存储类型,并讲述怎样开发和注册用户接口使用户设置preference更加方便,同时还告诉你怎样利用导入和导出功能存储不依赖于工作台的preference。它同时也告诉你当其它的插件要使用你的插件的preference时候怎样初始化和得到preference。这个功能将在下面的例子中进行演示,这个例子是在文件中查找错误的单词。我们将在这个工具中用2个preference页设置我们的preference,其中一个是设置高量显示的颜色`,这个页面比较简单,另外一个稍微复杂点,是设置单词的列表。
  
  何时使用preference
  
  preference是一种数据,它存在于工作空间中,允许用户存储插件的状态,以保证它在eclipse中的一致性。eclipse 2.0提供2种preference,用户接口(ui)preference(同样存在于1.0中)和核心preference。这篇文章仅仅涉及到怎样使用ui preference存储。典型的ui preference有新的实例的默认值,编辑器的颜色,路径等等。核心preference用于不是ui的部分的值。
  
  preference并不涉及到当前工作空间中的任何资源,相反,它应该被编辑器,视图或者其它的操作资源的对象所使用。一种资源实例对应的数据最好存储成一个属性。
  
  preference对任何插件来说都是可用的,当然,先决条件是存在插件。通常的方法是你的插件上提供api,允许preference可以被访问。preference的值存储在工作空间的.metadata/.plugins目录下面。下面我们举例怎么做。
  
  preference store和插件
  
  每个插件都有自己的preference store,这是工作空间提供的。在这个例子中,我们将定义一个插件,使用它的preference store存储preference。在ui中当要使用插件的时候我们定义abustractuiplugin的子类。构造函数(参见 )将在工作台中创建一个独立的允许容易访问的插件实例。我们实现方法initializedefaultpreferences()为preference设置默认值。首先为错误的单词定义了一个preference,另外一个是定义高量显示的颜色。每个preference的值与给定的关键字相对应。在下面的代码中使用的关键字是在中定义的常量。
  
  所有的preference应该都有默认值来保证在任何时候都有值。默认值也保证了ui能够提供一种方式重置preference的值回到初始设定,这是通过“保存默认按钮”实现的。preference的默认值在插件中也应该进行初始化,以便它在任何ui创建之前设置。
  
  iabstractworkbenchplugin定义了一个方法,当preference第一次创建的时候,它会被调用。这个方法就是initializedefaultpreferences(ipreferencestore)。在这个方法中(参见)你应该把所有的值都设为默认值,才能够使用preference store。我们在preferenceconverter中用helper方法设定默认的color,preferenceconverter允许插件开发者设置和得到一些常见的存储类型的preference的值,例如fontdata,point等等。提供api是因为preference无论是存储还是读取都是string,以一种我们人可以理解的格式。这样来平衡java的属性机制。我们那个稍微复杂的错误单词的preference在初始化的时候使用了预先设定的值。在preferenceconvertor中并没有提供api来存储和读取string数组。
  
  color color= display.getdefault().getsystemcolor(swt.color_blue);preferenceconverter.setdefault
  (store, highlight_preference,
  color.getrgb());
  public class badwordcheckerplugin extends abstractuiplugin
  {
  //the shared instance.
  private static badwordcheckerplugin plugin;
  //the identifiers for the preferences
  public static final string bad_words_preference = "badwords";
  public static final string highlight_preference = "highlight";
  //the default values for the preferences
  public static final string default_bad_words = "bug;bogus;hack;";
  public static final int default_highlight = swt.color_blue;
  public badwordcheckerplugin(iplugindescriptor descriptor)
  {
  super(descriptor);
  plugin = this;
  }
  public static badwordcheckerplugin getdefault()
  {
  return plugin;  }
  /**   * initializes a preference store with default preference values
  * for this plug-in.
  */  protected void initializedefaultpreferences(ipreferencestore store)
  {
  store.setdefault(bad_words_preference, default_bad_words);
  color color= display.getdefault().getsystemcolor(default_highlight);
  preferenceconverter.setdefault(store, highlight_preference, color.getrgb());
  }
  }
 
 
上一篇: jbuilder2005+jboss+oracle9i环境配置    下一篇: 在eclipse中扩展refactoringwizard 框架
  相关文档
深入浅出java clone技术 11-17
j2ee基础:j2ee开发之常用开源项目介绍 12-26
jboss将arjuna事务加入soa 11-17
实例解析sql server 2000和jdbc的融合 11-17
equals与“==”操作符的比较 11-17
shortpath 属性 11-16
精典文萃:过渡技术的ajax及apusic jsf 11-16
sun认证java程序员考试大纲 11-16
实现具有动态主机ip的域名解析 11-17
4类java技术平行发展 sun公司计划谋求“统一” 11-17
用jdom操作xml文件 11-17
java web server2.0 11-17
sun用appserver8.0反击对手 11-17
freemarker设计指南(4) (完) 11-17
aop benchmark 11-17
一个完整的socket例子 11-17
java基础知识——java入门与加深二 11-17
用java实现ubb代码 11-17
web services&xml:使用xml的五种场合 02-28
java入门(8) 创建新类 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息