JavaFX LineChart中使用的静态方法positioninArea是什么?

时间:2019-01-16 12:11:19

标签: java javafx

JavaFX中的折线图有一个名为positioninArea的静态方法-这是文档:

positionInArea(节点子节点,双倍面积X,双倍面积Y,双倍面积宽度,双倍面积高度,双倍面积BaselineOffset,插入页边距,HPos对齐方式,VPos对齐方式,布尔值isSnapToPixel)

一种实用程序方法,该方法将孩子定位在由areaX,areaY,areaWidth x areaHeight定义的该区域的区域内,相对于该区域的基线偏移量。

此方法用于什么?我不明白这个解释。我可以使用此方法在图表内添加一个节点,即一个矩形吗?例如:

Rectangle rec = new Rectangle(35, 35, 35, 35);
rec.setFill(Color.RED);
lineChart.positionInArea(rec, 50, 50, 35, 35, 10, new Insets(0), HPos.CENTER, VPos.CENTER, true);

我试过了,但是矩形不显示。

1 个答案:

答案 0 :(得分:1)

positionInArea方法不是在LineChart上定义的,而是由Region定义的。当覆盖Region方法时,它主要用于帮助定位layoutChildren的子级。它是通过修改Node的各种布局属性来实现的。

您的Rectangle未添加到场景图中,更不用说LineChart的子级了。用positionInArea调用Rectangle将没有视觉效果。该方法不会将Node添加到子级列表,而只是在Rectangle上设置一些属性。