JavaFX图表原点坐标

时间:2015-07-12 09:30:09

标签: charts javafx position coordinates

所以我试图弄清楚JavaFX坐标系是如何工作的,并获得ScatterChart原点的坐标。我正在制作一个视频/动画编辑器,我决定使用ScatterChart创建时间轴,其中节点是媒体(图像,视频或音频)拖动到它(类似于Windows Movie Maker)。 ScatterChart 放置在ScrollPane 中,以便用户可以缩放和平移时间轴。 要显示指示玩家位置的线,我需要时间线的开始和结束坐标,以便我可以在图表的背景中向窗格添加一条线。 无论我尝试什么,我都无法获得原点的坐标。enter image description here

我试图获取x轴并在图表上找到它的位置,但它不起作用。我甚至尝试在图表中添加一个点并找到它的节点位置,但这也给出了0,0位置。

xAxis.localToParent(0,0) // prints 0, 0
xAxis.localToScene(0,0) // prints 0, 0
xAxis.localToScreen(0,0) // gives null

有没有人能提供解决方案,也许解释一下如何计算JavaFX中的坐标?

1 个答案:

答案 0 :(得分:0)

我通过添加图表数据解决了这个问题,图表开头的一个点,X坐标0.这个点的节点是一个半径为0或1的圆,这是我用来获取X坐标的图表开始。获得此偏移量的函数是:

Bounds boundsInScene = point.getNode().localToScene(point.getNode().getBoundsInLocal(), true);
return parent.sceneToLocal(boundsInScene).getMinX();

父级是图表本身。只需将起始偏移量添加到getValueForDisplay函数的结果中,并以max X坐标作为参数,即可获取结束坐标。