如何使矢量线可选?

时间:2012-05-02 14:34:18

标签: java swing vector

我正在为大学制作一个项目,在那里我必须制作自己的原始矢量编辑器,我有两个问题:

  1. 通过保存它的起点坐标,终点坐标,点的颜色和宽度来构造矢量线对象是否正确? Point也是我的班级,在JPanel
  2. 上绘制
  3. 如果它是正确的,我怎样才能选择这条线?我唯一能想到的就是检查鼠标坐标是否在线宽内。
  4. 我也有限制不使用任何标准函数来绘制线条,样条线等。

4 个答案:

答案 0 :(得分:2)

  1. 是的,没错。或者你可以在极坐标中表示它
  2. 最好的办法是将你的行变成Area,它实现Shape并因此包含,这是你想要的方法。 Area是一个很好的抽象,因为它可以代表任何形状,但一切都以同样的方式被操纵。

答案 1 :(得分:1)

您可以使用Line2D Shape。要检查选择,您可以从BasicStroke中描边并检查描边的Shape是否包含点击的点。

答案 2 :(得分:0)

要点1:您还需要保存向量的方向。

要点2:有一些像GEF这样的框架可以帮到你。在这里你必须改变你的模型。您需要两个类:Point和Connection

答案 3 :(得分:0)

  1. 如果您有Vectorstart end,可以使用课程Point。如果您愿意,可以使用该课程。
  2. 你可以有这样的方法:

    private static Shape generateVector(Point start, Point end)
    

    在这种方法中,您可以使用“{Area”的一个对象为构建向量,Line2D。树行如果你想要一个箭头

    或者您可以使用GeneralPath进行构建。

  3. 要使用鼠标选择特定的矢量,您可以使用getX()上的getY()MouseEvent获取坐标,并使用方法contains在形状对象中询问并重新涂上其他颜色。

    祝你好运!