可以考虑用vml或者svg实现,主要是中间节点的控制,介绍一下我的实现方式:
1 定义三种连接线:直线,直角线,多义线
2 多义线有多个节点(我称为热点Hot Point),可以有两种方式:固定数量的热点,类似jbpm设计器中可以随意增加热点数
3 热点允许抓取移动,选中热点时,热点变色,抓动热点时,显示移动的辅助线
4 允许删除热点
5 连接的端点也允许移动,可以修改连接到其他连接点,也可以修改到同一节点的不同方向连接点(一个节点允许有四个方向的连接点),移动端点时可以吸附.
参照我的截图:http://jbpm.group.javaeye.com/group/topic/11139