关键字:Draw2d 、Decoration 、 箭头
为连线增加箭头。
public class HelloWorld2 {
public static void main(String args[]) {
Shell shell = new Shell();
shell.setText("Draw2d Hello World");
shell.setSize(200, 200);
shell.open();
// create content 4 shell.
createContent4Shell(shell);
while (!shell.isDisposed ()) {
if (!Display.getDefault().readAndDispatch ())
Display.getDefault().sleep ();
}
}
private static void createContent4Shell(Shell shell) {
Panel rootFigure = new Panel();
rootFigure.setLayoutManager(new XYLayout());
IFigure figure1 = new Ellipse();
Ellipse figure2 = new Ellipse();
// --------------------------------------------------------
// add connection
PolylineConnection connection = new PolylineConnection();
connection.setSourceAnchor(new ChopboxAnchor(figure1));
connection.setTargetAnchor(new EllipseAnchor(figure2));
// --------------------------------------------------------
// add Decoration to Connection
connection.setSourceDecoration(new PolylineDecoration());
// connection.setSourceDecoration(new PolygonDecoration());
rootFigure.add(figure1,new Rectangle(10,10,60,30));
rootFigure.add(figure2,new Rectangle(70,70,90,90));
rootFigure.add(connection);
LightweightSystem lws = new LightweightSystem(shell);
lws.setContents(rootFigure);
}
}

将 箭头 改为实心的。
// --------------------------------------------------------
// add Decoration to Connection
// connection.setSourceDecoration(new PolylineDecoration());
connection.setSourceDecoration(new PolygonDecoration());

当然我们也可以定制箭头。
// --------------------------------------------------------
// add Decoration to Connection
// connection.setSourceDecoration(new PolylineDecoration());
PolygonDecoration decoration = new PolygonDecoration();
PointList decorationPointList = new PointList();
decorationPointList.addPoint(0,0);
decorationPointList.addPoint(-2,2);
decorationPointList.addPoint(-4,0);
decorationPointList.addPoint(-2,-2);
decoration.setTemplate(decorationPointList);
connection.setSourceDecoration(decoration);

SWT Draw2D 连线箭头定制
本文介绍如何使用SWT Draw2D库为连线添加不同类型的箭头装饰,包括预定义的箭头样式及自定义箭头形状的方法。
5581

被折叠的 条评论
为什么被折叠?



