RCP中关于可选项(preferencePages)的使用

 在plugin.xml中添加preferencePages的相关配置:

自定义属性的配置:

 

   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            class="com.vnvntrip.plugin.dev.preferences.CustomPreferencePage"
            id="com.vnvntrip.plugin.dev.preferences.CustomPreferencePage"
            name="Custom Preferences">
      </page>
   </extension>

 关于可选项中默认信息的加载必须实现一个AbstractPreferenceInitializer的类:

  plugin.xml中配置:

 

   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer
            class="com.vnvntrip.plugin.dev.preferences.PreferenceInitializer">
      </initializer>
   </extension>
   

 

  可选项的中初始化页面的方法:

package com.vnvntrip.plugin.dev.preferences;

import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.jface.preference.IPreferenceStore;
import com.vnvntrip.plugin.dev.Activator;
/**
 * 初始化时调用此类的加载可选项中数据信息
 */
public class PreferenceInitializer extends AbstractPreferenceInitializer {
 /*
  * 
  * 加载系统中默认的可选的信息可选项的存储中
  * (non-Javadoc)
  * 
  * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
  */
 public void initializeDefaultPreferences() {
             //获取可选项的存储
     IPreferenceStore store = Activator.getDefault().getPreferenceStore();
     //设置各种默认值的信息
      store.setDefault(PreferenceConstants.P_BOOLEAN, true);
      store.setDefault(PreferenceConstants.P_CHOICE, "choice2");
      store.setDefault(PreferenceConstants.P_STRING,
    "Default value");
 }
}

 

使用的可选项的代码:

public class SampleHandler extends AbstractHandler {
    private static String CUSTOMPROPERTYPAGE = "com.vnvntrip.plugin.dev.properties.CustomPropertyPage";

    /**
     * The constructor.
     */
    public SampleHandler() {
    }

    /**
     * the command has been executed, so extract extract the needed information
     * from the application context.
     */
    public Object execute(ExecutionEvent event) throws ExecutionException {
	Shell shell = HandlerUtil.getActiveShell(event);
	// JfaceDialog dialog=new JfaceDialog(shell);
	// dialog.open();
	//WorkbenchPreferenceDialog.createDialogOn(shell, preferencePageId)
	WorkbenchPreferenceDialog dialog = WorkbenchPreferenceDialog
		.createDialogOn(shell, CUSTOMPROPERTYPAGE);
	dialog.showOnly(new String[] { CUSTOMPROPERTYPAGE });
	dialog.open();
	return null;
    }
}

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Eclipse RCP是一种用于开发桌面应用程序的框架。它提供了一套丰富的工具和API,使开发者能够轻松地构建功能强大的跨平台应用程序。在使用Eclipse RCP进行开发时,可以使用Active X控件、2D绘图和向OpenGL进军等技术来增强应用程序的功能和用户体验。\[1\] 在Eclipse RCP,可以通过重写WorkbenchAdvisor和WorkbenchWindowAdvisor类的勾子函数来自定义应用程序的启动过程。默认情况下,Eclipse RCP项目已经提供了ApplicationWorkbenchAdvisor和ApplicationWorkbenchWindowAdvisor类的实现,可以在这些类进行定制化的操作。\[2\] 例如,在ApplicationWorkbenchAdvisor类重写postStartup方法,可以在应用程序启动后执行一些初始化操作。可以在该方法调用自定义的方法来初始化项目资源,如创建新的项目。\[3\] 总之,Eclipse RCP提供了丰富的功能和灵活的扩展性,使开发者能够根据自己的需求定制和开发强大的桌面应用程序。 #### 引用[.reference_title] - *1* [Eclipse RCP 开发系列入门教程](https://blog.csdn.net/wsh_0703/article/details/80580218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Eclipse插件(RCP)初始化资源文件](https://blog.csdn.net/m0_47406832/article/details/124055334)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值