现在可以画出直线,要求是拖动直线的任意一点变动曲线

解决方案 »

  1.   

    这样你就不能直接的用Graphics的drawLine();了
    你就应该画矢量图形了 
    也就是自己定义一些图形类  这些类可以添加事件监听
    然后在画图形的时候 用画板上的鼠标监听得到这个图形的起点长度(或宽、高)、方向
    等属性  然后再利用这些属性实例化自己的图形 再把这些图形画在画板上至于想拖动改变图形那就得靠图形类的鼠标监听了  我现在的想法是 当图形监测到了鼠标事件
    然后调用图形监听的方法(自己定义)这个方法再调用图形鼠标事件的到鼠标所在的这个图形
    上的位置 然后继续监听鼠标拖动(在拖动的过程中你可以更新一下,比如现在你鼠标拖到哪里了 就在这里画一下圆弧 以看起来更流畅) 得到鼠标拖到的那个点 再根据这个点算出到这条线的两个端点的弧度的半径 或者圆心什么的继而画出圆弧(根据你的变直线为曲线的要求)这些画圆弧的方法应该定义在你自己定义的类里,当然你也可以为你的图形定义一些属性,比如
    一条先上的某一点可以被拖动啊什么的 
      

  2.   

    Graphics2D的draw方法,画CubicCurve2D.