主要是连线两个坐标点的问题,我是取两个画了图的Canvas的中心点来连线,因此无论你画多少条线,它们都是重合的,你只要在连线的时候让两个坐标点改变就可以了

解决方案 »

  1.   

    int startX=0,startY=0,endX=0,endY=0;//绘制图标间连线的起点和终点坐标
    关键在这里,找到绘制箭头的函数体
    public void drawArrowhead(Graphics g,Canvas startObj,Canvas endObj)
    在这里处理连线的起始点与终结点的坐标,不过要涉及到在Vector里搜索这两个对象是否已经有连线,如果有就改变起始和终结两点的坐标,否则直接连线!!!
    不过我不明白的是你为什么要在两张图之间连两条线呢???
      

  2.   

    因为有些流程是需要两条连线的,比如A为职员,B为经理,A->B为提交资料,B->A
    为审核通过,这样画图的时候就需要两根线才能清晰的表达流程.(比如用Viso等工具画流程图的时候就有这种效果)
    另外您目前的连线都是直线,那么需要能拐弯的箭头怎么实现呢?(这很重要,否则连线一多流程图看起来会象蜘蛛网)
    Thanks
      

  3.   

    或AB两个物体之间有C,所以应该画折线,如何实现呢?
      

  4.   

    如果要在AB间连线,而界面上在AB之间已经有了很多其他点,有不想AB的连线穿过其他点,怎么办