`
salever
  • 浏览: 254727 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Draw2D 模拟SWT控件之Button

阅读更多

SWT Designer 实现了强大SWT/JFace 可视化编辑功能,在Graphical Editor下画出来的图形效果很好,下面就来尝试用Draw2D里面的Figure来模拟一下SWT里常见的控件。

 

从Button开始吧。

 

图形编辑的时候,Button看起来就是一个凸起的图形,加上一个字符描述。

button

图中第二个就是真实的Button,而第一个是用Draw2D 绘制的,并没有处理按键行为,仅仅是模拟外观,在图形编辑时就够了。

 

public class ButtonFigure extends Label{

	public ButtonFigure(){
		this("");
	}
	
	public ButtonFigure(String text){
		super(text);
		//LineBorder lineBorder = new LineBorder();
		//lineBorder.setColor(ResourceConstants.BORDER_COLOR);
		//Choose which style is better, flat or 3D
		SimpleRaisedBorder border = new SimpleRaisedBorder();
		setBorder(border);
	}
}

代码很简单,不用解释了。画出来的效果与上图中一致。

如果定义Button中的文字位置,有可能为LEFT、CENTER、RIGHT,这时候就要重新绘制Button上的文字了。

	/* (non-Javadoc)
	 * @see org.eclipse.draw2d.Label#paintFigure(org.eclipse.draw2d.Graphics)
	 */
	@Override
	protected void paintFigure(Graphics graphics) {
		Dimension size = FigureUtilities.getTextExtents(getText(), graphics
				.getFont());
		Rectangle bounds = getBounds();
		graphics.drawText(getText(), bounds.x + 3, bounds.y
				+ (bounds.height - size.height) / 2);
	}

代码为在LEFT位置绘制文字,效果为:

    button left

如果需要在RIGHT位置,修改

graphics.drawText(getText(), bounds.x + 3, bounds.y
				+ (bounds.height - size.height) / 2);

中对应参数就就行了。

0
0
分享到:
评论
2 楼 salever 2011-04-18  
shine5566 写道
draw2d 不是自带有这些控件么?

呵呵,这些是用来做图形编辑的,不是Draw2D的控件,模拟的SWT Designer的效果
1 楼 shine5566 2011-04-15  
draw2d 不是自带有这些控件么?

相关推荐

    Draw2D 模拟SWT控件之RadioButton、CheckedBox

    本文将深入探讨如何使用Draw2D模拟SWT中的RadioButton和CheckedBox控件,以及这些控件在实际应用中的作用和实现方式。 首先,RadioButton和CheckedBox是GUI中的两种常见选择控件。RadioButton通常用于提供一组互斥...

    Draw2D 模拟SWT控件之TextField、TextArea

    "Draw2D模拟SWT控件之TextField、TextArea"这个主题聚焦于使用Draw2D库来模仿SWT(Standard Widget Toolkit)中的两种基本输入控件:TextField和TextArea。SWT是Eclipse基金会的一个开源项目,用于构建原生外观的...

    Java中如何使用Draw2D和SWT绘图

    在Java编程中,Draw2D库是一个强大的工具,它允许开发者使用SWT(Standard Widget Toolkit)来创建复杂的图形用户界面,特别适用于绘制图形和图表。Draw2D是Eclipse项目的一部分,它提供了一套丰富的API,可以方便地...

    draw2d,swt

    ### draw2d与swt知识点概述 #### 一、Draw2d与SWT简介 - **Draw2d**: 是Eclipse平台中一个重要的组件库,主要用于构建复杂的图形用户界面(GUI),尤其适用于需要绘制图形、节点等复杂结构的应用场景。通过Draw2d...

    在Java中使用Draw2D和SWT绘图的源码

    当Draw2D与SWT结合使用时,可以在SWT的窗口或控件上绘制Draw2D图形,实现高度定制化的可视化效果。 在“在Java中使用Draw2D和SWT绘图的源码”中,我们可以学习如何将这两个库整合起来,创建动态的、交互式的2D图形...

    swt总结draw2d绘图

    Draw2D是SWT中的一个子项目,专门用于在SWT组件上进行图形绘制,提供了一组丰富的API,使得开发者可以创建出复杂的2D图形用户界面。本总结将深入探讨SWT和Draw2D在绘图方面的知识。 1. SWT基础: SWT是一个与操作...

    eclipse draw2d实例大全 源码

    org.eclipse.draw2d.examples.swt org.eclipse.draw2d.examples.text org.eclipse.draw2d.examples.thumbnail org.eclipse.draw2d.examples.tree org.eclipse.draw2d.examples.uml org.eclipse.draw2d.examples.zoom

    draw2d精讲

    其中,SWT(Standard Widget Toolkit)是用于Java开发的一个跨平台GUI工具包,而LightweightSystem是连接SWT和Draw2D的一个桥接类,它负责管理两者之间的交互,处理事件和更新绘图显示。 Figure是Draw2D中的基本...

    Draw2D 使用例子

    **Draw2D** 是一个用于Java平台的2D绘图框架,它是SWT(Standard Widget Toolkit)的一部分。Draw2D提供了丰富的图形绘制和操作功能,可以创建复杂的图形布局和交互设计。它包括基本的几何形状绘制、变换、填充、...

    21章 Draw2d

    21章 Draw2d,swt,eclipse插件开发学习笔记 21章 Draw2d,swt,eclipse插件开发学习笔记 21章 Draw2d,swt,eclipse插件开发学习笔记 21章 Draw2d,swt,eclipse插件开发学习笔记 21章 Draw2d,swt,eclipse插件开发学习...

    Draw2d js图形库

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

    Draw2d Programmer Guide

    Draw2D的轻量系统与SWT Canvas关联,系统监听大部分SWT事件,并将这些事件转发给EventDispatcher处理,后者再将事件传递给合适的Figure。对于绘画事件,则转发给UpdateManager进行管理和协调。 #### 绘制过程详解 ...

    Draw2d API (html版)

    Draw2d API Draw2d是一个宿主在SWT Composite控件中的轻量级的构件(widge)系统。一个Draw2d应用程序由一个 SWT Composite控件, 一个轻量级系统, 以及其内容(figures)组成。

    draw2d 绘制图形教程

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

    Draw2d 教程 很详细

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

    Draw2d画线例子

    Draw2d是Eclipse RCP(Rich Client Platform)框架中的一个子项目,专门用于2D图形绘制和交互。它提供了一套丰富的API,允许开发者在Java应用程序中创建、编辑和展示复杂的图形界面,尤其适用于创建流程图、图表和...

    Draw2D documents and samples

    6. **与其他Eclipse组件的集成**:由于Draw2D是Eclipse项目的一部分,它可以无缝集成到SWT和JFace中,与RCP(Rich Client Platform)和其他Eclipse插件协同工作。 在“Draw2D”这个压缩包文件中,可能包含了以下...

    使用Draw2d做的流程图工具

    Draw2d是Java图形库Swing或 SWT中的一个子库,主要用于创建2D图形和复杂的图形用户界面,尤其适用于绘制流程图、图表和其他图形结构。它提供了丰富的图形绘制功能,如线条、形状、文本和图像的处理,以及交互式操作...

    draw2d_Demo_code

    《draw2d_Demo_code——探索Draw2D图形库的应用》 在计算机编程领域,图形用户界面(GUI)是与用户交互的重要方式。Draw2D是Eclipse平台下的一个开源库,专门用于创建二维图形和复杂的图形布局。本文将深入探讨Draw...

    draw2d 示例代码

    《Eclipse Draw2D 示例代码解析》 Eclipse Draw2D 是一个强大的图形用户界面库,主要用于在Java环境中创建和管理2D图形。它作为Eclipse RCP( Rich Client Platform)的一部分,为开发者提供了丰富的图形绘制和交互...

Global site tag (gtag.js) - Google Analytics