JavaFX绘制部分线

时间:2016-01-09 23:14:12

标签: javafx

我想在两个可移动节点之间画一条线。线起点和终点坐标绑定到中心点。但节点在中间是透明的,所以你看到了这条线。帽子里面的小点。

Dot within the hat is the line

该行应该在中心开始和结束,但是在startNode中心之后说25px(半径),在endNode中心之前说25px ......怎么能这样做?

1 个答案:

答案 0 :(得分:4)

给定起点和终点,请执行以下操作:

这为您提供了从开始到结束的向量。

Point2D vector = new Point2D(end.x, end.y).substract(start.x, start.y);
vector = vector.normalize().multiply(25); // 25 is the radius here

这就是你需要开始行的地方

Point2D newStart = new Point2D(start.x, start.y).add(vector);

这就是你需要结束行的地方

Point2D newEnd = new Point2D(end.x, end.y).subtract(vector);