我正在为大学做一个项目,我必须制作自己的原始矢量编辑器,我有两个问题:
- 通过保存它的起点坐标、终点坐标、颜色和点的宽度来制作矢量线对象是否正确,它将由哪些组成?
Point
也是我的课,画在JPanel
. - 如果它是正确的,我怎样才能使这条线可选?我唯一能想到的就是检查鼠标坐标是否在线宽之内。
我也有一个限制,不能使用任何标准函数来绘制线条、样条曲线等。
Area
,它实现Shape
并包含,这是你想要的方法。Area
是一个很好的抽象,因为它可以表示任何形状,但一切都以相同的方式进行操作。您可以使用 Line2D 形状。要检查选择,您可以从 BasicStroke 中 gt 描边 Shape 并检查描边 Shape 是否包含单击点。
To Point 1:您还需要保存矢量的方向。
第 2 点:有一些像GEF这样的框架可以为您完成这项工作。在这里你必须改变你的模型。你需要两个类:Point 和 Connection
Vector
如果你有一个类start
,你可以使用一个类end
Point
,如果你愿意,你可以这样做。你可以有这样的方法:
private static Shape generateVector(Point start, Point end)
在这种方法中,您可以使用“区域”的一个对象来构建矢量,使用Line2D
. 树线如果你想要一个箭头。
或者您可以使用GeneralPath
for 构建它。
对于用鼠标选择一个特定的向量,你可以得到坐标,用getX()
和getY()
,用方MouseEvent
法询问形状对象,contains
用其他颜色重新绘制。
祝你好运!