SWT Designer 实现了强大SWT/JFace 可视化编辑功能,在Graphical Editor下画出来的图形效果很好,下面就来尝试用Draw2D里面的Figure来模拟一下SWT里常见的控件。
从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位置绘制文字,效果为:
如果需要在RIGHT位置,修改
graphics.drawText(getText(), bounds.x + 3, bounds.y
+ (bounds.height - size.height) / 2);
中对应参数就就行了。
分享到:
相关推荐
NULL 博文链接:https://salever.iteye.com/blog/719528
NULL 博文链接:https://salever.iteye.com/blog/719930
可以使用Draw2D编写自己的用来绘制图形的Java代码,这有助于您将精力集中于缩放代码和绘制代码上,把其他与绘制相关的工作留给Draw2D和SWT。您还可以通过使用所选择的Draw2D图形来控制您的图形的外观。Draw2D简化了...
这是一个Draw2d的开发文档,可以学习一下eclipse插件开发的一些画图技术
在Java中使用Draw2D和SWT绘图的源码,使用Draw2D编写代码,帮助您以图形的方式形象化您的数据
Draw2d是SWT的轻量级组件系统,Draw2d的实例由SWT组件、LightweightSystem和Draw2d的IFigure实例集合组成。
swt总结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,swt,eclipse插件开发学习笔记 21章 Draw2d,swt,eclipse插件开发学习笔记 21章 Draw2d,swt,eclipse插件开发学习笔记 21章 Draw2d,swt,eclipse插件开发学习笔记 21章 Draw2d,swt,eclipse插件开发学习...
Draw2d API Draw2d是一个宿主在SWT Composite控件中的轻量级的构件(widge)系统。一个Draw2d应用程序由一个 SWT Composite控件, 一个轻量级系统, 以及其内容(figures)组成。
GEF Draw2D 使用例子,可以直接运行的
Draw2d js图形库,画各种流程图,非常强大的javascript类图库。
draw2d 绘制图形教程 draw2d 绘制图形教程draw2d 绘制图形教程 draw2d 绘制图形教程
网上的Draw2D的参考资料实在是太少了,对于新手来说太不友好了,所以,我总结了一份只有10来页的PPT做为新手的快速入门教程。
eclipse Draw2d Programmer Guide
Draw2D:eclipse Draw2D documents and samples.
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教程,网上的,我收集了一下。 写的很详细
GEF/Draw2D入门例子 主要是Draw2d的几个入门的例子和入门的书籍 对eclipse中图形的绘画讲解
Draw2D教程,介绍了Draw2D的基本知识,对学习Draw2D有所帮助