`
salever
  • 浏览: 249818 次
  • 性别: 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

    NULL 博文链接:https://salever.iteye.com/blog/719528

    Draw2D 模拟SWT控件之TextField、TextArea

    NULL 博文链接:https://salever.iteye.com/blog/719930

    Java中如何使用Draw2D和SWT绘图

    可以使用Draw2D编写自己的用来绘制图形的Java代码,这有助于您将精力集中于缩放代码和绘制代码上,把其他与绘制相关的工作留给Draw2D和SWT。您还可以通过使用所选择的Draw2D图形来控制您的图形的外观。Draw2D简化了...

    draw2d,swt

    这是一个Draw2d的开发文档,可以学习一下eclipse插件开发的一些画图技术

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

    在Java中使用Draw2D和SWT绘图的源码,使用Draw2D编写代码,帮助您以图形的方式形象化您的数据

    draw2d精讲

    Draw2d是SWT的轻量级组件系统,Draw2d的实例由SWT组件、LightweightSystem和Draw2d的IFigure实例集合组成。

    swt总结draw2d绘图

    swt总结draw2d绘图

    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

    21章 Draw2d

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

    Draw2d API (html版)

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

    Draw2D 使用例子

    GEF Draw2D 使用例子,可以直接运行的

    Draw2d js图形库

    Draw2d js图形库,画各种流程图,非常强大的javascript类图库。

    draw2d 绘制图形教程

    draw2d 绘制图形教程 draw2d 绘制图形教程draw2d 绘制图形教程 draw2d 绘制图形教程

    Draw2D快速入门精简教程

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

    Draw2d Programmer Guide

    eclipse Draw2d Programmer Guide

    Draw2D documents and samples

    Draw2D:eclipse Draw2D documents and samples.

    org.eclipse.draw2d_3.1.0.jar

    org.eclipse.draw2d_3.1.0.jarorg.eclipse.draw2d_3.1.0.jarorg.eclipse.draw2d_3.1.0.jarorg.eclipse.draw2d_3.1.0.jar

    Draw2d 教程 很详细

    Draw2d教程,网上的,我收集了一下。 写的很详细

    GEF/Draw2D入门例子

    GEF/Draw2D入门例子 主要是Draw2d的几个入门的例子和入门的书籍 对eclipse中图形的绘画讲解

    Draw2D教程

    Draw2D教程,介绍了Draw2D的基本知识,对学习Draw2D有所帮助

Global site tag (gtag.js) - Google Analytics