在Draw2d中,IFigure对象代表图形,IFigure对象还能包含其他的IFigure对象,所有的IFigure对象组合成用户指定的图形
通常用户可以继承Figure类实现自己的图形。Figure实现了IFigure接口
我下面写了个实例,实现了一个Figure,并设置边框为 LineBorder(边框类似为连线),而且还给它加了颜色,好像是淡绿色,对颜色没啥研究,另外还添加了以个Label作为显示的Figure,并设置为Label的现实文字和文字对齐方式,以及Figure的布局
package com.heming.table.editor.figure;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.Figure;
import org.eclipse.draw2d.FlowLayout;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.LineBorder;
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.swt.graphics.Image;
/**
* Figure功能
* @author 何明
*
*/
public class KCGCommonFigure extends Figure {
//在Figure中添加标签(标签也是Figure)
protected Label label = new Label();
public KCGCommonFigure(String fieldLabel, Image typeIcon){
//设置背景色
setBackgroundColor(ColorConstants.tooltipBackground);
//设置前景色
setForegroundColor(ColorConstants.tooltipForeground);
//设置Figure的边框,并给边框加上颜色
setBorder(new LineBorder(ColorConstants.cyan));
//设置label中文字的对齐方式
label.setTextAlignment(PositionConstants.LEFT);
//设置label的图标
label.setIcon(typeIcon);
//设置Figure的布局方式
setLayoutManager(new FlowLayout());
//把label添加到Figure中
add(label);
//设置label的显示文字
setLabelText(fieldLabel);
}
private void setLabelText(String fieldLabel) {
label.setText(fieldLabel);
}
}
接下来就是测试了
在写这篇文章之前,写了个HelloWorld,咱们就拿它来测试了
只需要将
IFigure label = new Label("Hello World");
lws.setContents(label);
换成
KCGCommonFigure figure = new KCGCommonFigure("Figure Demo",SWTResourceManager.getImage("icons/methpub_obj.gif"));
lws.setContents(figure);
就可以了,不信?自己测试看看
分享到:
相关推荐
Draw2D是GEF的一部分,专注于二维图形的绘制。它提供了一系列的图形对象和布局管理器,用于在Eclipse RCP(Rich Client Platform)环境中绘制图形。Draw2D使用Java2D API,可以创建各种形状、线条、文本等,并支持...
Draw2d.js是一个开源的JavaScript图形库,专为在Web应用程序中绘制和操作二维图形而设计。这个库特别适用于创建流程图、UML类图、网络拓扑图和其他复杂的图表。它提供了丰富的API和功能,使得开发人员可以轻松地创建...
在计算机编程领域,可视化和交互式界面设计是不可或缺的部分,而draw2d库正是这样一个专注于二维图形绘制的工具。draw2d库,全称为Draw2D,是一个开源的JavaScript库,它允许开发者在HTML5的Canvas元素上创建复杂的...
Draw2d是一个强大的图形绘制库,常用于在Java环境中创建二维图形用户界面。这个"Draw2d教程"可能包含了从基础到高级的各种概念和技术,帮助学习者深入理解如何利用Draw2d来构建交互式图形应用。以下是教程可能涵盖的...
2. **图元(Figure)**:在Draw2D中,图元是图形的基本单位,可以是简单的几何形状,也可以是复杂的组合形状。示例可能包含创建自定义图元的方法。 3. **图元工厂(FigureFactory)**:图元工厂用于生成和管理图元...
在提供的"org.eclipse.draw2d.examples"目录下,我们可以看到一系列示例代码,这些代码涵盖了Draw2d的主要功能和使用场景: 1. BasicShapesExample:展示了如何创建基本形状,如Rectangle、Ellipse、Line等,并对...
确保你已经安装了Eclipse IDE,并且导入了相关的插件如GEF(Graphical Editing Framework),因为Draw2d通常与GEF一起使用,为用户提供图形编辑功能。你可以通过Eclipse Marketplace或者更新站点来安装这些插件。 ...
轻量级系统则负责管理这些图形对象,而图形(Figure)是Draw2D的构建块,可以是基本形状如椭圆、多边形、矩形或自定义形状。你可以通过扩展已有的图形类来创建自己的图形元素。 在Draw2D中,`org.eclipse.draw2d....
Figure是Draw2D中的基本图形元素,它定义了一个通用的图形对象,可以在其中绘制任何形式的简单几何图形,也可以通过嵌套和组合多个Figure来构建复杂的图形界面。Figure类提供了丰富的接口和方法,例如paintFigure()...
总之,SWT Draw2D提供了一套强大的2D图形绘制框架,它结合了SWT的高性能和丰富的图形功能,为Java开发者提供了创建精美、动态图形界面的能力。通过深入学习和实践,开发者可以利用Draw2D构建出高度定制和用户友好的...
Draw2D是Eclipse平台下的一种轻量级图形用户界面工具包,它提供了一系列用于构建复杂图表、文档或绘图的功能组件,这些组件被称为“Figure”。不同于传统的GUI组件,Figure在操作系统级别上没有对应的资源,它们完全...
eclipse draw2d实例大全 org.eclipse.draw2d.examples.cg org.eclipse.draw2d.examples.connections org.eclipse.draw2d.examples.graph org.eclipse.draw2d.examples.hittest org.eclipse.draw2d.examples.images ...
Java中的Draw2D和SWT(Standard Widget Toolkit)是两种强大的图形用户界面(GUI)工具,它们被广泛用于创建复杂的2D图形和可视化应用程序。在Java编程中,这两个库为开发者提供了丰富的功能,使得在屏幕上绘制高...
网上的Draw2D的参考资料实在是太少了,对于新手来说太不友好了,所以,我总结了一份只有10来页的PPT做为新手的快速入门教程。
综上所述,Draw2D作为Eclipse生态系统的一部分,为开发者提供了强大的2D图形绘制和交互功能,是构建专业图形界面的有力工具。通过深入学习和实践,开发者可以充分利用其特性,打造出功能丰富、视觉效果出色的软件...
Draw2d提供了一系列布局管理器,如StackLayout、TableLayout和FlowLayout,帮助自动调整图形元素的位置和大小,以适应不同场景的流程图布局需求。 4. **事件处理与交互**: 用户可以通过鼠标和键盘与流程图交互,...
Draw2D是Eclipse平台下的一个开源库,专门用于创建二维图形和复杂的图形布局。本文将深入探讨Draw2D库及其在Java环境中的应用,通过分析`Draw2DLayoutExample.java`代码,揭示其背后的编程原理和技术要点。 首先,...
DRAW2D是一个开源的Java库,用于在二维图形环境中创建和操作图形对象。它主要用于Swing或JavaFX等Java GUI框架,提供了一组强大的工具和类来帮助开发者构建复杂的图形用户界面。滚动条在DRAW2D中扮演着至关重要的...
“draw2d”是Eclipse中用于2D图形绘制的库,而“examples”则意味着这个压缩包包含了一系列使用Draw2d的示例代码,用于教学和实践。 在【压缩包子文件的文件名称列表】中,我们看到只有一个条目 "org.eclipse.draw...
Draw2D.js是一个专门用于创建和编辑二维图形的JavaScript库,特别适用于绘制工作流图。最新版本v2.9.1为开发者提供了更多功能和优化,使其在前端应用中的表现更加出色。本文将详细介绍Draw2D.js的核心特性、使用方法...