`

Draw2d入门系列(二、 图形Figure的功能)

阅读更多
在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);


就可以了,不信?自己测试看看
分享到:
评论

相关推荐

    GEF/Draw2D入门例子

    Draw2D是GEF的一部分,专注于二维图形的绘制。它提供了一系列的图形对象和布局管理器,用于在Eclipse RCP(Rich Client Platform)环境中绘制图形。Draw2D使用Java2D API,可以创建各种形状、线条、文本等,并支持...

    Draw2d js图形库

    Draw2d.js是一个开源的JavaScript图形库,专为在Web应用程序中绘制和操作二维图形而设计。这个库特别适用于创建流程图、UML类图、网络拓扑图和其他复杂的图表。它提供了丰富的API和功能,使得开发人员可以轻松地创建...

    draw2d 绘制图形教程

    在计算机编程领域,可视化和交互式界面设计是不可或缺的部分,而draw2d库正是这样一个专注于二维图形绘制的工具。draw2d库,全称为Draw2D,是一个开源的JavaScript库,它允许开发者在HTML5的Canvas元素上创建复杂的...

    Draw2d 教程 很详细

    Draw2d是一个强大的图形绘制库,常用于在Java环境中创建二维图形用户界面。这个"Draw2d教程"可能包含了从基础到高级的各种概念和技术,帮助学习者深入理解如何利用Draw2d来构建交互式图形应用。以下是教程可能涵盖的...

    Draw2D 使用例子

    2. **图元(Figure)**:在Draw2D中,图元是图形的基本单位,可以是简单的几何形状,也可以是复杂的组合形状。示例可能包含创建自定义图元的方法。 3. **图元工厂(FigureFactory)**:图元工厂用于生成和管理图元...

    draw2d 示例代码

    在提供的"org.eclipse.draw2d.examples"目录下,我们可以看到一系列示例代码,这些代码涵盖了Draw2d的主要功能和使用场景: 1. BasicShapesExample:展示了如何创建基本形状,如Rectangle、Ellipse、Line等,并对...

    Draw2d画线例子

    确保你已经安装了Eclipse IDE,并且导入了相关的插件如GEF(Graphical Editing Framework),因为Draw2d通常与GEF一起使用,为用户提供图形编辑功能。你可以通过Eclipse Marketplace或者更新站点来安装这些插件。 ...

    Java中如何使用Draw2D和SWT绘图

    轻量级系统则负责管理这些图形对象,而图形(Figure)是Draw2D的构建块,可以是基本形状如椭圆、多边形、矩形或自定义形状。你可以通过扩展已有的图形类来创建自己的图形元素。 在Draw2D中,`org.eclipse.draw2d....

    draw2d精讲

    Figure是Draw2D中的基本图形元素,它定义了一个通用的图形对象,可以在其中绘制任何形式的简单几何图形,也可以通过嵌套和组合多个Figure来构建复杂的图形界面。Figure类提供了丰富的接口和方法,例如paintFigure()...

    swt总结draw2d绘图

    总之,SWT Draw2D提供了一套强大的2D图形绘制框架,它结合了SWT的高性能和丰富的图形功能,为Java开发者提供了创建精美、动态图形界面的能力。通过深入学习和实践,开发者可以利用Draw2D构建出高度定制和用户友好的...

    Draw2d Programmer Guide

    Draw2D是Eclipse平台下的一种轻量级图形用户界面工具包,它提供了一系列用于构建复杂图表、文档或绘图的功能组件,这些组件被称为“Figure”。不同于传统的GUI组件,Figure在操作系统级别上没有对应的资源,它们完全...

    eclipse draw2d实例大全 源码

    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绘图的源码

    Java中的Draw2D和SWT(Standard Widget Toolkit)是两种强大的图形用户界面(GUI)工具,它们被广泛用于创建复杂的2D图形和可视化应用程序。在Java编程中,这两个库为开发者提供了丰富的功能,使得在屏幕上绘制高...

    Draw2D快速入门精简教程

    网上的Draw2D的参考资料实在是太少了,对于新手来说太不友好了,所以,我总结了一份只有10来页的PPT做为新手的快速入门教程。

    Draw2D documents and samples

    综上所述,Draw2D作为Eclipse生态系统的一部分,为开发者提供了强大的2D图形绘制和交互功能,是构建专业图形界面的有力工具。通过深入学习和实践,开发者可以充分利用其特性,打造出功能丰富、视觉效果出色的软件...

    使用Draw2d做的流程图工具

    Draw2d提供了一系列布局管理器,如StackLayout、TableLayout和FlowLayout,帮助自动调整图形元素的位置和大小,以适应不同场景的流程图布局需求。 4. **事件处理与交互**: 用户可以通过鼠标和键盘与流程图交互,...

    draw2d_Demo_code

    Draw2D是Eclipse平台下的一个开源库,专门用于创建二维图形和复杂的图形布局。本文将深入探讨Draw2D库及其在Java环境中的应用,通过分析`Draw2DLayoutExample.java`代码,揭示其背后的编程原理和技术要点。 首先,...

    DRAW2D中的 滚动条

    DRAW2D是一个开源的Java库,用于在二维图形环境中创建和操作图形对象。它主要用于Swing或JavaFX等Java GUI框架,提供了一组强大的工具和类来帮助开发者构建复杂的图形用户界面。滚动条在DRAW2D中扮演着至关重要的...

    org.eclipse.draw2d.examples

    “draw2d”是Eclipse中用于2D图形绘制的库,而“examples”则意味着这个压缩包包含了一系列使用Draw2d的示例代码,用于教学和实践。 在【压缩包子文件的文件名称列表】中,我们看到只有一个条目 "org.eclipse.draw...

    draw2d.js v2.9.1最新版本附带完整demo

    Draw2D.js是一个专门用于创建和编辑二维图形的JavaScript库,特别适用于绘制工作流图。最新版本v2.9.1为开发者提供了更多功能和优化,使其在前端应用中的表现更加出色。本文将详细介绍Draw2D.js的核心特性、使用方法...

Global site tag (gtag.js) - Google Analytics