Eclipse RCP JFace

阅读数:103 评论数:0

跳转到新版页面

分类

python/Java

正文

JFace是基于SWT的一组plug-ins,但是JFace不会隐藏SWT的API。JFace提供了viewers框架,它可以简化数据模型和可视化显示的匹配。

JFace也提供了帮助类,用于有效管理系统资源,如colors、images和fonts。

Colors、Fonts和Images的JFace的资源管理器

colors、fonts和images需要显示的被释放,JFace提供了LocalResourceManager类可以用于这个操作。

LocalResourceManager类的实例会引用一个Composite,如果这个Composite被释放了,LocalResourceManager创建的资源也会被释放。

// create the manager and bind to a widget
LocalResourceManager resManager =
new LocalResourceManager(JFaceResources.getResources(), composite);
// create resources
Color color = resManager.createColor(new RGB(200, 100, 0));
Font font = resManager.
createFont(FontDescriptor.createFrom("Arial", 10, SWT.BOLD));
// get an imageDescriptor and create Image object
Image image = resManager.createImage(imageDescriptor);

ControlDecoration

ControlDecoration允许在SWT control上添加image decorations来显示control额外的信息,当用户把鼠标放在其上时,会显示描述信息。

// create the decoration for the text UI component
final ControlDecoration deco =
new ControlDecoration(text, SWT.TOP | SWT.RIGHT);
// re-use an existing image
Image image = FieldDecorationRegistry.
getDefault().
getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION).
getImage();
// set description and image
deco.setDescriptionText("This is a tooltip text");
deco.setImage(image);
// hide deco if not in focus
deco.setShowOnlyOnFocus(true);

field关联的用户输入提示

org.eclipse.jface.fieldassit包提供了用于组件用户输入的辅助,ContentProposalAdapter类用于提供可能的输入值。

JFace viewer framework

JFace viewer framework允许你在一个标准SWT组件中显示domain model,一个viewer允许设置一个提供数据的content provider,也可以设置至少一个label provider,用于定义模型中的数据怎样在viewer中显示。

标准的JFace viewer

这些viewer位于org.eclipse.jface.viewers包中。

(1)ComboViewer

(2)ListViewer

(3)TreeViewer

(4)TableViewer

标准的Content provider

(1)IStructuredContentProvider(接口)

默认实现为ArrayContentProvider,用于List-,Combo-和TableViewer。

(2)ITreeContentProvider(接口)

没有默认的实现,用于TreeViewer

标准的Label provider

(1)LabelProvider

用于list和tree,可以为每个元素返回一个icon和label。

(2)ColumnLabelProvider

用于tables,为每一列定义一个label。

 




相关推荐

Eclipse RCP是Rich Client Platform,即富客户平台,使用者可以使用Java来创建桌面程序,这些应用程序能够得到Eclipse的底层支持。 1、下载</p

运行时,Eclipse 应用的结构是通过一个application model来描述的。这个application model包含了应用中独立的元素和它们的结构关系。 每个mode

每个plug-ins可以通过下面方式作用于application model: (1)static contributions 通过文件,这些扩展称为fragment

1、@javax.inject.Inject 定义在JSR330中 ,可以写在字段、构建函数或方法上,Eclipse 框架试图把相关的对象注入到字段或实例的参数上。

一个Eclipse应用在启动过程时会创建一个实现IEclipseContext接口的对象,这个对象称为Eclipse context。 这个context和Map数据结构类似,但和

1、@PostConstruct 当一个类的构造函数执行,字段和方法都注入后执行。 2、@PreDestroy 类被destroyed前执行,可以用来清

Eclipse application model允许你指定command和handlers。 command和handlers model element的使用是可选的,你可以使

一个Eclipse application的配置包括icons、splash screen和plug-ins。 一个product总是指向一个application class,对

一个feature可以理解为一个逻辑单元,描述了一组plug-in和其它features。它也有name、version number和license information。 f

SWT全称是Standard Widget Toolkit。 Display和Shell Display和Shell类是SWT应用的主要组件,org.eclips