首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Draw2d 连线6 路由 Router

2012-08-29 
Draw2d 连线六 路由 Router关键字:Draw2d 连线 路由 Router ManhattanConnectionRouter?NullConnectionRou

Draw2d 连线六 路由 Router

关键字:Draw2d 连线 路由 Router ManhattanConnectionRouter

?

NullConnectionRouter : 直接的直线连接。

FanRouter : 防治连线重叠的连接。

BendpointConnectionRouter : 允许用户任意拖动连线中的部分的方式增加节点。

ShortestPathConnectionRouter : 最短路径的连接。

ManhattanConnectionRouter : 都以垂直和水平的方式来连接,同时回避线条重叠。

?

ManhattanConnectionRouter? 效果:

?

public class HelloWorld2 {public static void main(String args[]) {Shell shell = new Shell();shell.setText("Draw2d Hello World");shell.setSize(300, 300);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 connectionPolylineConnection connection = new PolylineConnection();connection.setSourceAnchor(new ChopboxAnchor(figure1));connection.setTargetAnchor(new EllipseAnchor(figure2));// --------------------// add Decoration to Connectionconnection.setSourceDecoration(new PolygonDecoration());// --------------------// add Labels to ConnectionConnectionEndpointLocator Locator1 = new ConnectionEndpointLocator(connection, true);Locator1.setVDistance(30);connection.add(new Label("1..*"), Locator1);ConnectionEndpointLocator Locator2 = new ConnectionEndpointLocator(connection, false);Locator2.setVDistance(15);connection.add(new Label("22..*"), Locator2);ConnectionEndpointLocator Locator3 = new ConnectionEndpointLocator(connection,true);Locator3.setUDistance(80);Locator3.setVDistance(-20);connection.add(new Label("3333..*"),Locator3);// --------------------// add Router to Connectionconnection.setConnectionRouter(new ManhattanConnectionRouter());rootFigure.add(figure1,new Rectangle(10,10,60,30));rootFigure.add(figure2,new Rectangle(170,170,90,90));rootFigure.add(connection);LightweightSystem lws = new LightweightSystem(shell);lws.setContents(rootFigure);}}

?


Draw2d 连线6 路由 Router?Draw2d 连线6 路由 Router
?
?

?

热点排行