如何使RCP应用程序每次打开都显示Welcome页面
1个回答
2015-02-03 · 知道合伙人影视综艺行家
关注
展开全部
RCP开发中,很多开发人员都希望,自己的RCP应有Welcome页面,因此我们配置了intro扩展点以及introconfig扩展点,也写了xml文件,这样我们就有了Welcome页面。但是Welcome只有在RCP应用程序第一次运行时才会显示,以后都不会显示。
为什么会这样?
看看插件运行时环境中的.metadata\.plugins\org.eclipse.core.runtime\.settings目录下的org.eclipse.ui.prefs文件中的内容:
1#Fri Jun 29 08:57:27 CST 2007
2eclipse.preferences.version=1
3showIntro=false
第一次运行以后就会产生此文件,内容中就定义了showIntro=false,为了测试,我们修改了showIntro=true,再此运行Welcome再次出现,但是org.eclipse.ui.prefs文件被更新,内容被修改。
一定是Eclipse在运行后对org.eclipse.ui.prefs进行了修改,知道这个就好好了~我们找到了这句:
PrefUtil.getAPIPreferenceStore().setValue(
IWorkbenchPreferenceConstants.SHOW_INTRO, false);
PrefUtil.saveAPIPrefs();
在ApplicationWorkbenchWindowAdvisor中增加方法:
@Override
public void postWindowClose() {
super.postWindowClose();
PrefUtil.getAPIPreferenceStore().setValue(
IWorkbenchPreferenceConstants.SHOW_INTRO, true);
PrefUtil.saveAPIPrefs();
}
搞定,以后每次启动都会有Welcome页面了~
为什么会这样?
看看插件运行时环境中的.metadata\.plugins\org.eclipse.core.runtime\.settings目录下的org.eclipse.ui.prefs文件中的内容:
1#Fri Jun 29 08:57:27 CST 2007
2eclipse.preferences.version=1
3showIntro=false
第一次运行以后就会产生此文件,内容中就定义了showIntro=false,为了测试,我们修改了showIntro=true,再此运行Welcome再次出现,但是org.eclipse.ui.prefs文件被更新,内容被修改。
一定是Eclipse在运行后对org.eclipse.ui.prefs进行了修改,知道这个就好好了~我们找到了这句:
PrefUtil.getAPIPreferenceStore().setValue(
IWorkbenchPreferenceConstants.SHOW_INTRO, false);
PrefUtil.saveAPIPrefs();
在ApplicationWorkbenchWindowAdvisor中增加方法:
@Override
public void postWindowClose() {
super.postWindowClose();
PrefUtil.getAPIPreferenceStore().setValue(
IWorkbenchPreferenceConstants.SHOW_INTRO, true);
PrefUtil.saveAPIPrefs();
}
搞定,以后每次启动都会有Welcome页面了~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询