Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法将节点绑定到直线的中点? 我需要做的是在直线中间画一个文本。这是我最初想到的: Text tWeight = new Text(Integer.toString(e.getWeight())); tWeight.setX((e.getEdge().getStartX() + e.getEdge().getEndX()) / 2); tWeight.setY((e.getEdge().getStartY() + e.getEdge().getEndY()) / 2);_Java_Javafx - Fatal编程技术网

Java 有没有办法将节点绑定到直线的中点? 我需要做的是在直线中间画一个文本。这是我最初想到的: Text tWeight = new Text(Integer.toString(e.getWeight())); tWeight.setX((e.getEdge().getStartX() + e.getEdge().getEndX()) / 2); tWeight.setY((e.getEdge().getStartY() + e.getEdge().getEndY()) / 2);

Java 有没有办法将节点绑定到直线的中点? 我需要做的是在直线中间画一个文本。这是我最初想到的: Text tWeight = new Text(Integer.toString(e.getWeight())); tWeight.setX((e.getEdge().getStartX() + e.getEdge().getEndX()) / 2); tWeight.setY((e.getEdge().getStartY() + e.getEdge().getEndY()) / 2);,java,javafx,Java,Javafx,其中e.getEdge()返回一行。 问题是,返回的线在两个节点之间也有一个绑定,因此当我尝试获取其位置时,它返回该线所在窗格左上角的坐标。 有什么方法(或技巧)可以让这一切从一开始就起作用吗 提前感谢(DoubleProperty的超类型)提供了add(observedEnumberValue)和乘法(double)方法。您可以使用这些函数为(startX+endX)*0.5(或y的等效函数)创建表达式: 看看包裹。Bindings类提供了一个静态API,而XXXExpression类提供了一

其中
e.getEdge()
返回一行。
问题是,返回的线在两个节点之间也有一个绑定,因此当我尝试获取其位置时,它返回该线所在窗格左上角的坐标。 有什么方法(或技巧)可以让这一切从一开始就起作用吗

提前感谢

DoubleProperty
的超类型)提供了
add(observedEnumberValue)
乘法(double)
方法。您可以使用这些函数为
(startX+endX)*0.5(或y的等效函数)创建表达式:

看看包裹。
Bindings
类提供了一个静态API,而
XXXExpression
类提供了一个流畅的API。请注意标准属性实现的类层次结构(例如)。
Line l = e.getEdge();
tWeight.xProperty().bind(l.startXProperty().add(l.endXProperty()).multiply(0.5));
tWeight.yProperty().bind(l.startYProperty().add(l.endYProperty()).multiply(0.5));