`
javababy1
  • 浏览: 1220223 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

构建eclipse plugin 的Preferences

阅读更多
现在正在做一个rcp软件,刚刚做好了Preferences,总结一下。此方法也适用eclipse plugin。在作ipass的时候,没有发现有这么简便的方法。
以一个配置密码策略的页面为例:
public class PreferencePassPolicyPage extends FieldEditorPreferencePage
implements IWorkbenchPreferencePage {
public static final String PASSWORD_CHARS = "passgate.password.chars";
public static final String ALPHABETIC = "alphabetic";
public static final String ALPHANUMERIC = "alphanumeric";
public static final String NUMERIC = "numeric";
public static final String PASSWORD_CASE = "passgate.password.case";
public static final String UPPER = "uppercase";
public static final String LOWER = "lowercase";
public static final String MIXED = "mixed";
public static final String PASSWORD_LENGTH = "passgate.password.length";
public PreferencePassPolicyPage() {
super(GRID);
setTitle("Password Policy");
setImageDescriptor(ImageShop.getDescriptor("category_obj"));
setPreferenceStore(PwdgatePlugin.getDefault().getPreferenceStore());
}
public void init(IWorkbench workbench) {
}
protected void createFieldEditors() {
// characters
String[][] choose = new String[][] {
new String[] { "Use alphabetic only", ALPHABETIC },
new String[] { "Use numberic only", NUMERIC },
new String[] { "Use alphanumeric only", ALPHANUMERIC } };
FieldEditor charcterEditor = new RadioGroupFieldEditor(PASSWORD_CHARS,
"Characters", 1, choose, getFieldEditorParent(), true);
addField(charcterEditor);
// case
choose = new String[][] { new String[] { "Lower case", LOWER },
new String[] { "Upper case", UPPER },
new String[] { "Mixed", MIXED } };
FieldEditor caseEditor = new RadioGroupFieldEditor(PASSWORD_CASE,
"Case", 1, choose, getFieldEditorParent(), true);
addField(caseEditor);
FieldEditor lengthEditor = new IntegerFieldEditor(PASSWORD_LENGTH,
"Password length", getFieldEditorParent());
addField(lengthEditor);
}
}
页面继承了FieldEditorPreferencePage,只需要实现createFieldEditors()即可构建自己的Preference结构;实现了IWorkbenchPreferencePage接口,这样eclipse才能够通过plugin.xml中定义的extension point="org.eclipse.ui.preferencePages"加载本页。程序开始的静态常量是本页要用到的key,用来保存相应的属性值。在createFieldEditors()方法中,RadioGroupFieldEditor是一组Radio Button,省去了自己一个一个的常见控件。相应的还有IntegerFieldEditor,BooleanFieldEditor,StringFieldEditor等等可以使用,使用方法十分简单,参考api即可。实现的效果如下:
在plugin.xml文件中加入如下内容:
<extension
point="org.eclipse.ui.preferencePages">
<page
class="com.mi.pwdgate.dialog.PreferenceEditorPage"
id="com.mi.pwdgate.dialog.PreferenceEditorPage"
name="PassGate"/>
<page
category="com.mi.pwdgate.dialog.PreferenceEditorPage"
class="com.mi.pwdgate.dialog.PreferencePassPolicyPage"
id="com.mi.pwdgate.dialog.PreferencePassPolicyPage"
name="Password Policy"/>
</extension>
class为自己编写的preference页面的类,id可以任意取,但必须要使唯一的,一般都用类名,name是用来显示在界面上的名字,category是当前的Preference属于哪个Preference,就填写哪个Preferenceid。本例中Password Policy的父节点是PassGate
设定Preference的默认值
编写PreferenceInitializer.java,在这里设定preference的默认值,必须要继承AbstractPreferenceInitializer类。
public class PreferenceInitializer extends AbstractPreferenceInitializer {
public void initializeDefaultPreferences() {
IPreferenceStore store = PwdgatePlugin.getDefault()
.getPreferenceStore();
// for PassPolicy Preference
store.setDefault(PreferencePassPolicyPage.PASSWORD_CHARS,
PreferencePassPolicyPage.ALPHANUMERIC);
store.setDefault(PreferencePassPolicyPage.PASSWORD_CASE,
PreferencePassPolicyPage.LOWER);
store.setDefault(PreferencePassPolicyPage.PASSWORD_LENGTH, 8);
// for interaction preference
store.setDefault(PreferenceInteractionPage.DELETE_COMFIRM, true);
store.setDefault(PreferenceInteractionPage.DELETE_TO_BIN, true);
}
}
在plugin.xml文件中加入如下内容:
<extension
point="org.eclipse.core.runtime.preferences">
<initializerclass="com.mi.pwdgate.dialog.PreferenceInitializer"/>
</extension>
再给一张截图
分享到:
评论

相关推荐

    hadoop-eclipse-plugin-2.7.7.jar.zip

    2. **配置Hadoop连接**:在Eclipse中,选择`Window -&gt; Preferences -&gt; Hadoop Map/Reduce -&gt; Cluster`,点击`New`按钮,填写Hadoop集群的相关配置,包括HDFS的URL、JobTracker的地址等。 3. **创建Hadoop项目**:...

    hadoop2x-eclipse-plugin

    Hadoop2x-eclipse-plugin还提供了项目构建、依赖管理等功能,可以帮助开发者组织项目结构,管理外部依赖库。此外,插件还支持对Hadoop作业性能的分析,如Shuffle和Sort阶段的性能瓶颈探测。 总结来说,Hadoop2x-...

    hadoop-eclipse-plugin-2.8.5.jar插件下载

    Hadoop-eclipse-plugin-2.8.5.jar插件是专为Eclipse设计的一个重要工具,主要用于方便开发者在Eclipse集成开发环境中构建、调试和运行Hadoop MapReduce项目。这个插件极大地简化了Hadoop环境的配置过程,使得Java...

    Eclipse Plugin 3rd 带书签

    Eclipse 插件是基于 Eclipse 平台构建的应用程序或组件,用于增加新的功能或改进现有功能。本文档讨论的是一个特定的 Eclipse 插件——“Eclipse Plugin 3rd 带书签”。 #### 二、书签功能在 Eclipse 插件中的应用 ...

    hadoop-eclipse-plugin[2.2.0 + 2.4.1 + 2.6.0 + 2.7.3]

    Hadoop Eclipse Plugin是Apache Hadoop项目的一个扩展,主要用于集成Eclipse开发环境,使得Java开发者可以更方便地在Hadoop集群上创建、编辑、构建和运行MapReduce程序。通过这款插件,用户可以直接在Eclipse中创建...

    hadoop-eclipse-plugin.rar

    Hadoop Eclipse Plugin是Hadoop项目的一个扩展,它允许开发者在Eclipse中直接创建、编辑、构建和运行MapReduce项目。通过这个插件,开发者可以在熟悉的Eclipse环境下进行Hadoop程序的开发,极大地提高了开发效率。该...

    eclipse maven plugin 插件 安装 和 配置.docx

    - 打开Eclipse,选择菜单栏中的 `Window` &gt; `Preferences`。 - 在弹出的偏好设置窗口中查找 `Maven` 选项卡。如果能够看到该选项卡,则表明插件已成功安装。 ##### 步骤2:配置Maven安装路径 - 在 `Maven` &gt; `...

    hadoop-eclipse-plugin含WINDOWS下调试文档

    Hadoop Eclipse Plugin是专门为Eclipse IDE设计的一个插件,它允许开发者直接在Eclipse中创建、编辑、构建和运行Hadoop MapReduce项目。通过这个插件,开发者可以将Java代码部署到Hadoop集群上,进行分布式计算,极...

    eclipse-maven3-plugin工具

    Eclipse Maven3 Plugin是Eclipse集成开发环境中的一个插件,用于支持Maven项目管理和构建。这个插件使得开发者在Eclipse内部就能方便地管理Maven依赖、执行Maven生命周期阶段以及配置Maven项目,无需离开IDE。在描述...

    hadoop-eclipse-plugin-2.6.0.tar

    Hadoop Eclipse Plugin 2.6.0是一个强大的插件,它允许Java开发者在Eclipse IDE中直接创建、编辑、构建和运行Hadoop MapReduce项目。通过这个插件,开发者可以无缝地将Eclipse的优秀开发体验与Hadoop的强大分布式...

    Groovy_Installation_Eclipse_Plugin

    3. **启用自动构建**:在 Eclipse 中,可以配置自动构建项目来检查错误和警告,提高开发效率。这可以通过 Project -&gt; Build Automatically 来实现。 #### 六、使用 Groovy Eclipse Plugin ##### 6.1 创建 Groovy ...

    Maven Eclipse plugin 及安装说明

    在Eclipse中,进入“Window” -&gt; “Preferences” -&gt; “Maven”。在这里,你可以配置Maven的本地仓库路径、Maven安装目录以及全局设置文件的位置。确保这些设置与你的系统配置一致。 **步骤6:测试插件** 安装完成...

    hadoop-eclipse-plugin-2.7.3.jar

    2. 配置:在Eclipse的“Window”菜单中选择“Preferences”,然后进入“Hadoop Map/Reduce”,配置Hadoop集群的相关信息,如HDFS的URL、Hadoop的安装路径等。 三、主要功能 1. 创建MapReduce项目:在Eclipse的...

    eclipse-maven3-plugin.rar

    7. **配置插件**:安装完成后,开发者需要在Eclipse的 Preferences &gt; Maven 菜单项下配置Maven的设置,如本地仓库路径、镜像设置等。 8. **Maven项目结构**:Maven遵循约定优于配置的原则,标准的项目结构包括src/...

    使用 Eclipse 插件开发环境构建模板

    2. 重启Eclipse,新模板应该已经在"Preferences" -&gt; "General" -&gt; "Editors" -&gt; "Text Editors" -&gt; "Template"中可见,用户可以根据需要进行配置和使用。 在描述中提到的博客链接,可能详细介绍了上述步骤的实施...

    eclipse和tomcatPlugin配置使用说明

    - 文档提到了Maven项目,Maven是一个项目管理和构建自动化工具,Eclipse支持Maven项目。 - 用户可以从版本控制系统(如SVN)检出Maven项目,并将检出的项目转换为Eclipse项目。 - 转换为Eclipse项目后,可能需要...

    eclipse插件开发-添加xmlcatalog到plugin Specified Entries

    point="org.eclipse.core.runtime.preferences"&gt; class="your.package.name.XMLCatalogInitializer"&gt; point="org.eclipse.core.runtime.contentMatcher"&gt; class="your.package.name....

    eclipse+flex插件FB3_WWEJ_Plugin

    ### Eclipse + Flex插件FB3_WWEJ_Plugin详解 #### 一、概述 在软件开发领域,Eclipse是一款非常流行的开源集成开发环境(Integrated Development Environment,简称IDE),支持多种编程语言,尤其受到Java开发者的...

    Java_ME_Developers_Library_v2_2_eclipse_plugin.zip

    5. 启动Eclipse,确认Nokia插件已成功安装,可以通过查看"Window" -&gt; "Preferences" -&gt; "Nokia"菜单项来检查。 6. 开始创建新的Java ME项目,利用Nokia插件提供的功能和API进行开发。 通过以上步骤,开发者可以充分...

    maven2 plugin for eclipse

    选择菜单 window -&gt;preferences ; 在新打开的对话框的左边的一列会看到一个名为Maven2的选项。鼠标单击,然后点击右边的Local Repository Folder 那一栏的Browse按扭。然后定位到你本地的maven repository 目录。...

Global site tag (gtag.js) - Google Analytics