[align=left]我们在rcp的项目开发中,view和editor的字体都是eclipse默认的。但是,很多时候,由于其字体太小或者想改变其样式,需要能够设置tilte的字体。eclipse里可以非常方便的设置其字体和颜色:按照如下路径:
Preferences/General/Appearance/Colors and Fonts/Part title font
即可以更改view和editor的外观。
但是,在rcp中,该怎样重新设置其值呢。找了很久发现,当在eclipse中作如上修改后,在eclipse的工作空间workspace下有一个配置文件保存了其修改后的值,只要找到这个值,我们就有办法了。具体的路径如下,${workspace}代表当前你正在使用的workspace路径。
${workspace}\.metadata\.plugins\org.eclipse.core.runtime\.settings
\org.eclipse.ui.workbench.prefs
在org.eclipse.ui.workbench.prefs文件中多了一行记录,类似于:
org.eclipse.ui.workbench.TAB_TEXT_FONT
=1|\u5B8B\u4F53|11.0|1|WINDOWS|1|-16|0|0|0|700|0|0|0|-122|3|2|1|2|\u5B8B\u4F53
就是这个TAB_TEXT_FONT属性,想死我了。
其中红色的11代表字体大小,700代表粗体。如果是normal则为400.\u5B8B\u4F53代表的是unicode编码的
"宋体"
好了,知道了这个参数,该怎么用呢??
在rcp中,我们有一个
plugin_customization.ini的全局配置文件。很多配置可以写在代码里也可以写在这个配置项中。比如设置view和editor的tab样式为非传统的样式,可以这么写:
org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false
该配置文件的书写格式一般为:
<pluginId>/<preferenceName>=<preferenceValue>
这里,我们要想改变view和editor的title字体,则可以写成:
org.eclipse.ui.workbench/org.eclipse.ui.workbench.TAB_TEXT_FONT
=1|\u5B8B\u4F53|11.0|0|WINDOWS|1|-16|0|0|0|700|0|0|0|-122|3|2|1|2|\u5B8B\u4F53
当然了,还有很多的配置都可以写在plugin_customization.ini文件中。
从org.eclipse.ui.internal.IWorkbenchThemeConstants接口中我们能够看见eclipse系统定义的一些可配属性。该接口完整代码如下
/*******************************************************************************
* Copyright (c) 2004, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.internal;
/**
* A source of color/font/theme data constants used throughout the workbench.
*
* @since 3.0
*/
public interface IWorkbenchThemeConstants {
public static final String TAB_TEXT_FONT = "org.eclipse.ui.workbench.TAB_TEXT_FONT"; //$NON-NLS-1$
public static final String VIEW_MESSAGE_TEXT_FONT = "org.eclipse.ui.workbench.VIEW_MESSAGE_TEXT_FONT"; //$NON-NLS-1$
public static final String ACTIVE_TAB_TEXT_COLOR = "org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR"; //$NON-NLS-1$
public static final String ACTIVE_NOFOCUS_TAB_TEXT_COLOR = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR"; //$NON-NLS-1$
public static final String INACTIVE_TAB_TEXT_COLOR = "org.eclipse.ui.workbench.INACTIVE_TAB_TEXT_COLOR"; //$NON-NLS-1$
public static final String ACTIVE_TAB_BG_START = "org.eclipse.ui.workbench.ACTIVE_TAB_BG_START"; //$NON-NLS-1$
public static final String ACTIVE_TAB_BG_END = "org.eclipse.ui.workbench.ACTIVE_TAB_BG_END"; //$NON-NLS-1$
public static final String ACTIVE_TAB_HIGHLIGHT = "org.eclipse.ui.workbench.ACTIVE_TAB_HIGHLIGHT"; //$NON-NLS-1$
public static final String ACTIVE_TAB_HIGHLIGHT_START = "org.eclipse.ui.workbench.ACTIVE_TAB_HIGHLIGHT_START"; //$NON-NLS-1$
public static final String ACTIVE_NOFOCUS_TAB_BG_START = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START"; //$NON-NLS-1$
public static final String ACTIVE_NOFOCUS_TAB_BG_END = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END"; //$NON-NLS-1$
public static final String INACTIVE_TAB_BG_START = "org.eclipse.ui.workbench.INACTIVE_TAB_BG_START"; //$NON-NLS-1$
public static final String INACTIVE_TAB_BG_END = "org.eclipse.ui.workbench.INACTIVE_TAB_BG_END"; //$NON-NLS-1$
public static final String ACTIVE_TAB_PERCENT = "org.eclipse.ui.workbench.ACTIVE_TAB_PERCENT"; //$NON-NLS-1$
public static final String ACTIVE_NOFOCUS_TAB_PERCENT = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_PERCENT"; //$NON-NLS-1$
public static final String INACTIVE_TAB_PERCENT = "org.eclipse.ui.workbench.INACTIVE_TAB_PERCENT"; //$NON-NLS-1$
public static final String ACTIVE_TAB_VERTICAL = "org.eclipse.ui.workbench.ACTIVE_TAB_VERTICAL"; //$NON-NLS-1$
public static final String ACTIVE_NOFOCUS_TAB_VERTICAL = "org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_VERTICAL"; //$NON-NLS-1$
public static final String INACTIVE_TAB_VERTICAL = "org.eclipse.ui.workbench.INACTIVE_TAB_VERTICAL"; //$NON-NLS-1$
}
借助于这个接口,我们可以了解到很多的配置项信息。
从上面可以看见进行view和editor外观颜色的设置,颜色的设置可以用扩展点来实现,会在后续的文章中介绍这种设置颜色的方法。
先写到这里吧
[/align]
分享到:
相关推荐
本示例是一个Eclipse RCP的实战演示,展示了如何在Eclipse RCP应用中实现View和Editor,以及可能涉及图表的展示。 在Eclipse RCP中,View和Editor是两种主要的用户界面组件。View通常用于显示辅助信息或工具,而...
在RCP中,VIEWER和EDITOR是两个核心组件,它们在构建用户界面时起着至关重要的作用。 VIEWER是RCP中的一个重要组成部分,它主要负责数据的展示和交互。VIEWER可以看作是一种特殊的控件,它可以显示不同类型的数据,...
RCP允许开发者专注于业务逻辑的实现,而不必过于关注用户界面的设计,因为RCP已经提供了一系列预定义的界面元素,如菜单、工具栏、视图(View)和编辑器(Editor)。 **1. 菜单栏(Menu Bar)和工具栏(Tool Bar)*...
你可以通过阅读和分析这些代码来学习如何在Eclipse RCP环境中创建和管理编辑器。此外,理解Eclipse插件的生命周期、依赖管理和扩展点也是深入学习RCP开发的关键。 在实际应用中,Eclipse RCP的灵活性和可扩展性使其...
5. **视图(View)**和**编辑器(Editor)**:视图是用来显示特定数据或状态的部分,而编辑器则是用来编辑或操作数据的区域。两者都是工作台的重要组成部分。 6. **命令(Command)**和** Handler**:RCP中的命令...
本项目"rcp editor实例的项目代码2"是针对Eclipse插件开发的一个实战案例,旨在帮助开发者了解和掌握如何在Eclipse RCP环境中实现自定义编辑器。 首先,我们需要理解Eclipse插件开发的基本概念。Eclipse是一个开放...
在本文中,我们将深入探讨如何在Eclipse Rich Client Platform (RCP)应用程序中集成和显示JFreeChart报表。JFreeChart是一个强大的Java库,用于创建各种图表类型,如折线图、柱状图、饼图等,而RCP是Eclipse框架的一...
索尼公司生产的RCP-1500系列遥控面板(包括RCP-1500、RCP-1501和RCP-1530型号)是用于配置和控制演播室级及广播级摄像机的专业设备。这些设备提供了高级的操作便利性和功能的多样性,使得用户能够高效地进行摄影机的...
使用第三方包在Eclipse RCP中非常简单,只需要将jar文件添加到classpath中,并在Runtime页面中配置classpath,然后我们就可以使用第三方库中的类和方法来实现某些功能。 知识点: 1.Eclipse RCP是什么? 答:...
本文将深入探讨如何在RCP应用中通过适配器实现属性视图(Property View),以展示对象的属性信息。 首先,理解适配器模式的基本原理至关重要。适配器模式是一种结构型设计模式,它允许不兼容的接口之间进行通信。在...
4. **透视图(Perspective)**:透视图是RCP中的一个重要概念,它定义了一组视图和编辑器的排列方式,用于组织和展示不同任务的工作空间。 5. **视图(View)**:视图是用户界面中显示特定信息或功能的部分,如日历...
在RCP应用中,视图(View)是显示数据和提供用户操作的区域,它们可以独立于编辑器(Editor)存在。"demo_rcp_view"应该是演示如何创建和管理视图的实例,包括视图的注册、显示、隐藏和更新数据的方法。 再来看...
8. **视图(View)和编辑器(Editor)**:视图用于展示数据,编辑器用于处理和编辑数据。它们是用户与应用交互的主要界面元素。 9. **国际化和本地化(i18n)**:Eclipse RCP支持多语言环境,书中会讲解如何实现...
在向导中,填写项目的名称、供应商信息等,并选择所需的模板,如"Plug-in with a view"或"Plug-in with an editor"。 2. **定义插件元数据**: 在`plugin.xml`文件中,你需要定义插件的基本信息,如ID、名称、版本...
透视图是 RCP 中的一种重要的扩展点,插件可以通过定义自己的透视图来提供特定的功能。在 Eclipse 中,透视图是通过 org.eclipse.ui.perspectives 扩展点来实现的。插件需要在 plugin.xml 文件中配置透视图的扩展点...
描述中的"rcp中英文双版 建议读英文版 这样更有助于提高"提示学习者,尽管提供了中文版本,但推荐选择英文版进行学习,因为阅读原文通常可以更准确地理解技术概念,也有利于提升英语水平和技术词汇的理解。...
**RCP(Rich Client Platform)与OSGI详解** **RCP概述** RCP,全称为Rich Client Platform,是由Eclipse基金会开发的一种软件框架,...在实际项目中,理解并熟练运用RCP和OSGI技术,能大大提高开发效率和软件质量。
3. Editor:Eclipse RCP 的编辑器视图,提供了文本编辑和表单编辑功能。 六、Eclipse RCP 的交互机制 Eclipse RCP 的交互机制是指视图之间的交互机制,包括: 1. 事件处理机制:Eclipse RCP 的事件处理机制,提供...