现在正在做一个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,就填写哪个Preference的id。本例中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>
再给一张截图
分享到:
相关推荐
2. **配置Hadoop连接**:在Eclipse中,选择`Window -> Preferences -> Hadoop Map/Reduce -> Cluster`,点击`New`按钮,填写Hadoop集群的相关配置,包括HDFS的URL、JobTracker的地址等。 3. **创建Hadoop项目**:...
Hadoop2x-eclipse-plugin还提供了项目构建、依赖管理等功能,可以帮助开发者组织项目结构,管理外部依赖库。此外,插件还支持对Hadoop作业性能的分析,如Shuffle和Sort阶段的性能瓶颈探测。 总结来说,Hadoop2x-...
Hadoop-eclipse-plugin-2.8.5.jar插件是专为Eclipse设计的一个重要工具,主要用于方便开发者在Eclipse集成开发环境中构建、调试和运行Hadoop MapReduce项目。这个插件极大地简化了Hadoop环境的配置过程,使得Java...
Eclipse 插件是基于 Eclipse 平台构建的应用程序或组件,用于增加新的功能或改进现有功能。本文档讨论的是一个特定的 Eclipse 插件——“Eclipse Plugin 3rd 带书签”。 #### 二、书签功能在 Eclipse 插件中的应用 ...
Hadoop Eclipse Plugin是Apache Hadoop项目的一个扩展,主要用于集成Eclipse开发环境,使得Java开发者可以更方便地在Hadoop集群上创建、编辑、构建和运行MapReduce程序。通过这款插件,用户可以直接在Eclipse中创建...
Hadoop Eclipse Plugin是Hadoop项目的一个扩展,它允许开发者在Eclipse中直接创建、编辑、构建和运行MapReduce项目。通过这个插件,开发者可以在熟悉的Eclipse环境下进行Hadoop程序的开发,极大地提高了开发效率。该...
- 打开Eclipse,选择菜单栏中的 `Window` > `Preferences`。 - 在弹出的偏好设置窗口中查找 `Maven` 选项卡。如果能够看到该选项卡,则表明插件已成功安装。 ##### 步骤2:配置Maven安装路径 - 在 `Maven` > `...
Hadoop Eclipse Plugin是专门为Eclipse IDE设计的一个插件,它允许开发者直接在Eclipse中创建、编辑、构建和运行Hadoop MapReduce项目。通过这个插件,开发者可以将Java代码部署到Hadoop集群上,进行分布式计算,极...
Eclipse Maven3 Plugin是Eclipse集成开发环境中的一个插件,用于支持Maven项目管理和构建。这个插件使得开发者在Eclipse内部就能方便地管理Maven依赖、执行Maven生命周期阶段以及配置Maven项目,无需离开IDE。在描述...
Hadoop Eclipse Plugin 2.6.0是一个强大的插件,它允许Java开发者在Eclipse IDE中直接创建、编辑、构建和运行Hadoop MapReduce项目。通过这个插件,开发者可以无缝地将Eclipse的优秀开发体验与Hadoop的强大分布式...
3. **启用自动构建**:在 Eclipse 中,可以配置自动构建项目来检查错误和警告,提高开发效率。这可以通过 Project -> Build Automatically 来实现。 #### 六、使用 Groovy Eclipse Plugin ##### 6.1 创建 Groovy ...
在Eclipse中,进入“Window” -> “Preferences” -> “Maven”。在这里,你可以配置Maven的本地仓库路径、Maven安装目录以及全局设置文件的位置。确保这些设置与你的系统配置一致。 **步骤6:测试插件** 安装完成...
2. 配置:在Eclipse的“Window”菜单中选择“Preferences”,然后进入“Hadoop Map/Reduce”,配置Hadoop集群的相关信息,如HDFS的URL、Hadoop的安装路径等。 三、主要功能 1. 创建MapReduce项目:在Eclipse的...
7. **配置插件**:安装完成后,开发者需要在Eclipse的 Preferences > Maven 菜单项下配置Maven的设置,如本地仓库路径、镜像设置等。 8. **Maven项目结构**:Maven遵循约定优于配置的原则,标准的项目结构包括src/...
2. 重启Eclipse,新模板应该已经在"Preferences" -> "General" -> "Editors" -> "Text Editors" -> "Template"中可见,用户可以根据需要进行配置和使用。 在描述中提到的博客链接,可能详细介绍了上述步骤的实施...
- 文档提到了Maven项目,Maven是一个项目管理和构建自动化工具,Eclipse支持Maven项目。 - 用户可以从版本控制系统(如SVN)检出Maven项目,并将检出的项目转换为Eclipse项目。 - 转换为Eclipse项目后,可能需要...
point="org.eclipse.core.runtime.preferences"> class="your.package.name.XMLCatalogInitializer"> point="org.eclipse.core.runtime.contentMatcher"> class="your.package.name....
### Eclipse + Flex插件FB3_WWEJ_Plugin详解 #### 一、概述 在软件开发领域,Eclipse是一款非常流行的开源集成开发环境(Integrated Development Environment,简称IDE),支持多种编程语言,尤其受到Java开发者的...
5. 启动Eclipse,确认Nokia插件已成功安装,可以通过查看"Window" -> "Preferences" -> "Nokia"菜单项来检查。 6. 开始创建新的Java ME项目,利用Nokia插件提供的功能和API进行开发。 通过以上步骤,开发者可以充分...
选择菜单 window ->preferences ; 在新打开的对话框的左边的一列会看到一个名为Maven2的选项。鼠标单击,然后点击右边的Local Repository Folder 那一栏的Browse按扭。然后定位到你本地的maven repository 目录。...